Index: trunk/kernel/drivers/soclib/soclib_iob.c
===================================================================
--- trunk/kernel/drivers/soclib/soclib_iob.c	(revision 1)
+++ trunk/kernel/drivers/soclib/soclib_iob.c	(revision 4)
@@ -27,28 +27,21 @@
 #include <soclib_iob.h>
 
-/////////////////////////////////////
-void soclib_iob_init( xptr_t iox_xp )
+///////////////////////////////////////
+void soclib_iob_init( chdev_t * chdev )
 {
-    // get IOX device cluster and local pointer
-    cxy_t      iox_cxy = GET_CXY( iox_xp );
-    device_t * iox_ptr = (device_t *)GET_PTR( iox_xp );
-
-    // get extended pointer on SOCLIB_IOB base_xp segment
-    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iox_cxy , &iox_ptr->base ) );
-
     // desactivate IOMMU
-    hal_remote_sw( base_xp + (IOB_IOMMU_ACTIVE<<2) , 0 );
+    hal_remote_sw( chdev->base + (IOB_IOMMU_ACTIVE<<2) , 0 );
 }
 
 ////////////////////////////////////////////
-void soclib_iob_set_active( xptr_t   iox_xp,
+void soclib_iob_set_active( xptr_t   iob_xp,
                             uint32_t value )
 {
     // get IOX device cluster and local pointer
-    cxy_t      iox_cxy = GET_CXY( iox_xp );
-    device_t * iox_ptr = (device_t *)GET_PTR( iox_xp );
+    cxy_t     iob_cxy = GET_CXY( iob_xp );
+    chdev_t * iob_ptr = (chdev_t *)GET_PTR( iob_xp );
 
     // get extended pointer on SOCLIB_IOB base_xp segment
-    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iox_cxy , &iox_ptr->base ) );
+    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iob_cxy , &iob_ptr->base ) );
 
     // set ACTIVE register
@@ -57,13 +50,13 @@
 
 //////////////////////////////////////////
-void soclib_iob_set_ptpr( xptr_t   iox_xp,
+void soclib_iob_set_ptpr( xptr_t   iob_xp,
                           uint32_t value )
 {
     // get IOX device cluster and local pointer
-    cxy_t      iox_cxy = GET_CXY( iox_xp );
-    device_t * iox_ptr = (device_t *)GET_PTR( iox_xp );
+    cxy_t     iob_cxy = GET_CXY( iob_xp );
+    chdev_t * iob_ptr = (chdev_t *)GET_PTR( iob_xp );
 
     // get extended pointer on SOCLIB_IOB base_xp segment
-    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iox_cxy , &iox_ptr->base ) );
+    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iob_cxy , &iob_ptr->base ) );
 
     // set PTPR register
@@ -72,13 +65,13 @@
 
 ///////////////////////////////////////////
-void soclib_iob_inval_page( xptr_t  iox_xp,
+void soclib_iob_inval_page( xptr_t  iob_xp,
                             vpn_t   vpn )
 {
     // get IOX device cluster and local pointer
-    cxy_t      iox_cxy = GET_CXY( iox_xp );
-    device_t * iox_ptr = (device_t *)GET_PTR( iox_xp );
+    cxy_t     iob_cxy = GET_CXY( iob_xp );
+    chdev_t * iob_ptr = (chdev_t *)GET_PTR( iob_xp );
 
     // get extended pointer on SOCLIB_IOB base_xp segment
-    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iox_cxy , &iox_ptr->base ) );
+    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iob_cxy , &iob_ptr->base ) );
 
     // invalidate TLB entry
@@ -87,12 +80,12 @@
 
 //////////////////////////////////////////////
-uint32_t soclib_iob_get_bvar( xptr_t  iox_xp )
+uint32_t soclib_iob_get_bvar( xptr_t  iob_xp )
 {
     // get IOX device cluster and local pointer
-    cxy_t      iox_cxy = GET_CXY( iox_xp );
-    device_t * iox_ptr = (device_t *)GET_PTR( iox_xp );
+    cxy_t     iob_cxy = GET_CXY( iob_xp );
+    chdev_t * iob_ptr = (chdev_t *)GET_PTR( iob_xp );
 
     // get extended pointer on SOCLIB_IOB base_xp segment
-    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iox_cxy , &iox_ptr->base ) );
+    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iob_cxy , &iob_ptr->base ) );
 
     // get BVAR register
@@ -101,12 +94,12 @@
 
 ///////////////////////////////////////////////
-uint32_t soclib_iob_get_srcid( xptr_t  iox_xp )
+uint32_t soclib_iob_get_srcid( xptr_t  iob_xp )
 {
     // get IOX device cluster and local pointer
-    cxy_t      iox_cxy = GET_CXY( iox_xp );
-    device_t * iox_ptr = (device_t *)GET_PTR( iox_xp );
+    cxy_t     iob_cxy = GET_CXY( iob_xp );
+    chdev_t * iob_ptr = (chdev_t *)GET_PTR( iob_xp );
 
     // get extended pointer on SOCLIB_IOB base_xp segment
-    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iox_cxy , &iox_ptr->base ) );
+    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iob_cxy , &iob_ptr->base ) );
 
     // get BVAR register
@@ -115,12 +108,12 @@
 
 ///////////////////////////////////////////////
-uint32_t soclib_iob_get_error( xptr_t  iox_xp )
+uint32_t soclib_iob_get_error( xptr_t  iob_xp )
 {
     // get IOX device cluster and local pointer
-    cxy_t      iox_cxy = GET_CXY( iox_xp );
-    device_t * iox_ptr = (device_t *)GET_PTR( iox_xp );
+    cxy_t     iob_cxy = GET_CXY( iob_xp );
+    chdev_t * iob_ptr = (chdev_t *)GET_PTR( iob_xp );
 
     // get extended pointer on SOCLIB_IOB base_xp segment
-    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iox_cxy , &iox_ptr->base ) );
+    xptr_t base_xp = (xptr_t)hal_remote_lwd( XPTR( iob_cxy , &iob_ptr->base ) );
 
     // get BVAR register
