NTB: Move files in preparation for NTB abstraction
authorAllen Hubbe <Allen.Hubbe@emc.com>
Thu, 7 May 2015 10:45:21 +0000 (06:45 -0400)
committerAllen Hubbe <Allen.Hubbe@emc.com>
Thu, 2 Jul 2015 14:09:23 +0000 (10:09 -0400)
This patch only moves files to their new locations, before applying the
next two patches adding the NTB Abstraction layer.  Splitting this patch
from the next is intended make distinct which code is changed only due
to moving the files, versus which are substantial code changes in adding
the NTB Abstraction layer.

Signed-off-by: Allen Hubbe <Allen.Hubbe@emc.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
drivers/net/Kconfig
drivers/net/ntb_netdev.c
drivers/ntb/Makefile
drivers/ntb/hw/intel/ntb_hw_intel.c [moved from drivers/ntb/ntb_hw.c with 99% similarity]
drivers/ntb/hw/intel/ntb_hw_intel.h [moved from drivers/ntb/ntb_hw.h with 65% similarity]
drivers/ntb/ntb_regs.h [deleted file]
drivers/ntb/ntb_transport.c
include/linux/ntb_transport.h [moved from include/linux/ntb.h with 96% similarity]

index df51d60..bda3cde 100644 (file)
@@ -203,8 +203,8 @@ config NET_POLL_CONTROLLER
        def_bool NETPOLL
 
 config NTB_NETDEV
-       tristate "Virtual Ethernet over NTB"
-       depends on NTB
+       tristate "Virtual Ethernet over NTB Transport"
+       depends on NTB_TRANSPORT
 
 config RIONET
        tristate "RapidIO Ethernet over messaging driver support"
index 5a7e639..6d3bfa6 100644 (file)
@@ -49,7 +49,7 @@
 #include <linux/ethtool.h>
 #include <linux/module.h>
 #include <linux/pci.h>
-#include <linux/ntb.h>
+#include <linux/ntb_transport.h>
 
 #define NTB_NETDEV_VER "0.7"
 
@@ -410,13 +410,13 @@ static int __init ntb_netdev_init_module(void)
        rc = ntb_register_client_dev(KBUILD_MODNAME);
        if (rc)
                return rc;
-       return ntb_register_client(&ntb_netdev_client);
+       return ntb_transport_register_client(&ntb_netdev_client);
 }
 module_init(ntb_netdev_init_module);
 
 static void __exit ntb_netdev_exit_module(void)
 {
-       ntb_unregister_client(&ntb_netdev_client);
+       ntb_transport_unregister_client(&ntb_netdev_client);
        ntb_unregister_client_dev(KBUILD_MODNAME);
 }
 module_exit(ntb_netdev_exit_module);
index 15cb59f..545b10a 100644 (file)
@@ -1,3 +1,3 @@
-obj-$(CONFIG_NTB) += ntb.o
+obj-$(CONFIG_NTB) += ntb_hw_intel.o
 
-ntb-objs := ntb_hw.o ntb_transport.o
+ntb_hw_intel-objs := hw/intel/ntb_hw_intel.o ntb_transport.o
similarity index 99%
rename from drivers/ntb/ntb_hw.c
rename to drivers/ntb/hw/intel/ntb_hw_intel.c
index 3f67386..044534a 100644 (file)
@@ -53,8 +53,7 @@
 #include <linux/pci.h>
 #include <linux/random.h>
 #include <linux/slab.h>
-#include "ntb_hw.h"
-#include "ntb_regs.h"
+#include "ntb_hw_intel.h"
 
 #define NTB_NAME       "Intel(R) PCI-E Non-Transparent Bridge Driver"
 #define NTB_VER                "1.0"
similarity index 65%
rename from drivers/ntb/ntb_hw.h
rename to drivers/ntb/hw/intel/ntb_hw_intel.h
index 96de5fc..9356104 100644 (file)
  * Contact Information:
  * Jon Mason <jon.mason@intel.com>
  */
-#include <linux/ntb.h>
+#include <linux/ntb_transport.h>
 
+#define NTB_LINK_STATUS_ACTIVE 0x2000
+#define NTB_LINK_SPEED_MASK    0x000f
+#define NTB_LINK_WIDTH_MASK    0x03f0
+
+#define SNB_MSIX_CNT           4
+#define SNB_MAX_B2B_SPADS      16
+#define SNB_MAX_COMPAT_SPADS   16
+/* Reserve the uppermost bit for link interrupt */
+#define SNB_MAX_DB_BITS                15
+#define SNB_LINK_DB            15
+#define SNB_DB_BITS_PER_VEC    5
+#define HSX_SPLITBAR_MAX_MW    3
+#define SNB_MAX_MW             2
+#define SNB_ERRATA_MAX_MW      1
+
+#define SNB_DB_HW_LINK         0x8000
+
+#define SNB_UNCERRSTS_OFFSET   0x014C
+#define SNB_CORERRSTS_OFFSET   0x0158
+#define SNB_LINK_STATUS_OFFSET 0x01A2
+#define SNB_PCICMD_OFFSET      0x0504
+#define SNB_DEVCTRL_OFFSET     0x0598
+#define SNB_DEVSTS_OFFSET      0x059A
+#define SNB_SLINK_STATUS_OFFSET        0x05A2
+
+#define SNB_PBAR2LMT_OFFSET    0x0000
+#define SNB_PBAR4LMT_OFFSET    0x0008
+#define SNB_PBAR5LMT_OFFSET    0x000C
+#define SNB_PBAR2XLAT_OFFSET   0x0010
+#define SNB_PBAR4XLAT_OFFSET   0x0018
+#define SNB_PBAR5XLAT_OFFSET   0x001C
+#define SNB_SBAR2LMT_OFFSET    0x0020
+#define SNB_SBAR4LMT_OFFSET    0x0028
+#define SNB_SBAR5LMT_OFFSET    0x002C
+#define SNB_SBAR2XLAT_OFFSET   0x0030
+#define SNB_SBAR4XLAT_OFFSET   0x0038
+#define SNB_SBAR5XLAT_OFFSET   0x003C
+#define SNB_SBAR0BASE_OFFSET   0x0040
+#define SNB_SBAR2BASE_OFFSET   0x0048
+#define SNB_SBAR4BASE_OFFSET   0x0050
+#define SNB_SBAR5BASE_OFFSET   0x0054
+#define SNB_NTBCNTL_OFFSET     0x0058
+#define SNB_SBDF_OFFSET                0x005C
+#define SNB_PDOORBELL_OFFSET   0x0060
+#define SNB_PDBMSK_OFFSET      0x0062
+#define SNB_SDOORBELL_OFFSET   0x0064
+#define SNB_SDBMSK_OFFSET      0x0066
+#define SNB_USMEMMISS_OFFSET   0x0070
+#define SNB_SPAD_OFFSET                0x0080
+#define SNB_SPADSEMA4_OFFSET   0x00c0
+#define SNB_WCCNTRL_OFFSET     0x00e0
+#define SNB_B2B_SPAD_OFFSET    0x0100
+#define SNB_B2B_DOORBELL_OFFSET        0x0140
+#define SNB_B2B_XLAT_OFFSETL   0x0144
+#define SNB_B2B_XLAT_OFFSETU   0x0148
+
+/*
+ * The addresses are setup so the 32bit BARs can function. Thus
+ * the addresses are all in 32bit space
+ */
+#define SNB_MBAR01_USD_ADDR    0x000000002100000CULL
+#define SNB_MBAR23_USD_ADDR    0x000000004100000CULL
+#define SNB_MBAR4_USD_ADDR     0x000000008100000CULL
+#define SNB_MBAR5_USD_ADDR     0x00000000A100000CULL
+#define SNB_MBAR01_DSD_ADDR    0x000000002000000CULL
+#define SNB_MBAR23_DSD_ADDR    0x000000004000000CULL
+#define SNB_MBAR4_DSD_ADDR     0x000000008000000CULL
+#define SNB_MBAR5_DSD_ADDR     0x00000000A000000CULL
+
+#define BWD_MSIX_CNT           34
+#define BWD_MAX_SPADS          16
+#define BWD_MAX_DB_BITS                34
+#define BWD_DB_BITS_PER_VEC    1
+#define BWD_MAX_MW             2
+
+#define BWD_PCICMD_OFFSET      0xb004
+#define BWD_MBAR23_OFFSET      0xb018
+#define BWD_MBAR45_OFFSET      0xb020
+#define BWD_DEVCTRL_OFFSET     0xb048
+#define BWD_LINK_STATUS_OFFSET 0xb052
+#define BWD_ERRCORSTS_OFFSET   0xb110
+
+#define BWD_SBAR2XLAT_OFFSET   0x0008
+#define BWD_SBAR4XLAT_OFFSET   0x0010
+#define BWD_PDOORBELL_OFFSET   0x0020
+#define BWD_PDBMSK_OFFSET      0x0028
+#define BWD_NTBCNTL_OFFSET     0x0060
+#define BWD_EBDF_OFFSET                0x0064
+#define BWD_SPAD_OFFSET                0x0080
+#define BWD_SPADSEMA_OFFSET    0x00c0
+#define BWD_STKYSPAD_OFFSET    0x00c4
+#define BWD_PBAR2XLAT_OFFSET   0x8008
+#define BWD_PBAR4XLAT_OFFSET   0x8010
+#define BWD_B2B_DOORBELL_OFFSET        0x8020
+#define BWD_B2B_SPAD_OFFSET    0x8080
+#define BWD_B2B_SPADSEMA_OFFSET        0x80c0
+#define BWD_B2B_STKYSPAD_OFFSET        0x80c4
+
+#define BWD_MODPHY_PCSREG4     0x1c004
+#define BWD_MODPHY_PCSREG6     0x1c006
+
+#define BWD_IP_BASE            0xC000
+#define BWD_DESKEWSTS_OFFSET   (BWD_IP_BASE + 0x3024)
+#define BWD_LTSSMERRSTS0_OFFSET (BWD_IP_BASE + 0x3180)
+#define BWD_LTSSMSTATEJMP_OFFSET       (BWD_IP_BASE + 0x3040)
+#define BWD_IBSTERRRCRVSTS0_OFFSET     (BWD_IP_BASE + 0x3324)
+
+#define BWD_DESKEWSTS_DBERR    (1 << 15)
+#define BWD_LTSSMERRSTS0_UNEXPECTEDEI  (1 << 20)
+#define BWD_LTSSMSTATEJMP_FORCEDETECT  (1 << 2)
+#define BWD_IBIST_ERR_OFLOW    0x7FFF7FFF
+
+#define NTB_CNTL_CFG_LOCK              (1 << 0)
+#define NTB_CNTL_LINK_DISABLE          (1 << 1)
+#define NTB_CNTL_S2P_BAR23_SNOOP       (1 << 2)
+#define NTB_CNTL_P2S_BAR23_SNOOP       (1 << 4)
+#define NTB_CNTL_S2P_BAR4_SNOOP        (1 << 6)
+#define NTB_CNTL_P2S_BAR4_SNOOP        (1 << 8)
+#define NTB_CNTL_S2P_BAR5_SNOOP        (1 << 12)
+#define NTB_CNTL_P2S_BAR5_SNOOP        (1 << 14)
+#define BWD_CNTL_LINK_DOWN             (1 << 16)
+
+#define NTB_PPD_OFFSET         0x00D4
+#define SNB_PPD_CONN_TYPE      0x0003
+#define SNB_PPD_DEV_TYPE       0x0010
+#define SNB_PPD_SPLIT_BAR      (1 << 6)
+#define BWD_PPD_INIT_LINK      0x0008
+#define BWD_PPD_CONN_TYPE      0x0300
+#define BWD_PPD_DEV_TYPE       0x1000
 #define PCI_DEVICE_ID_INTEL_NTB_B2B_JSF                0x3725
 #define PCI_DEVICE_ID_INTEL_NTB_PS_JSF         0x3726
 #define PCI_DEVICE_ID_INTEL_NTB_SS_JSF         0x3727
diff --git a/drivers/ntb/ntb_regs.h b/drivers/ntb/ntb_regs.h
deleted file mode 100644 (file)
index f028ff8..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * This file is provided under a dual BSD/GPLv2 license.  When using or
- *   redistributing this file, you may do so under either license.
- *
- *   GPL LICENSE SUMMARY
- *
- *   Copyright(c) 2012 Intel Corporation. All rights reserved.
- *
- *   This program is free software; you can redistribute it and/or modify
- *   it under the terms of version 2 of the GNU General Public License as
- *   published by the Free Software Foundation.
- *
- *   BSD LICENSE
- *
- *   Copyright(c) 2012 Intel Corporation. All rights reserved.
- *
- *   Redistribution and use in source and binary forms, with or without
- *   modification, are permitted provided that the following conditions
- *   are met:
- *
- *     * Redistributions of source code must retain the above copyright
- *       notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above copy
- *       notice, this list of conditions and the following disclaimer in
- *       the documentation and/or other materials provided with the
- *       distribution.
- *     * Neither the name of Intel Corporation nor the names of its
- *       contributors may be used to endorse or promote products derived
- *       from this software without specific prior written permission.
- *
- *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Intel PCIe NTB Linux driver
- *
- * Contact Information:
- * Jon Mason <jon.mason@intel.com>
- */
-
-#define NTB_LINK_STATUS_ACTIVE 0x2000
-#define NTB_LINK_SPEED_MASK    0x000f
-#define NTB_LINK_WIDTH_MASK    0x03f0
-
-#define SNB_MSIX_CNT           4
-#define SNB_MAX_B2B_SPADS      16
-#define SNB_MAX_COMPAT_SPADS   16
-/* Reserve the uppermost bit for link interrupt */
-#define SNB_MAX_DB_BITS                15
-#define SNB_LINK_DB            15
-#define SNB_DB_BITS_PER_VEC    5
-#define HSX_SPLITBAR_MAX_MW    3
-#define SNB_MAX_MW             2
-#define SNB_ERRATA_MAX_MW      1
-
-#define SNB_DB_HW_LINK         0x8000
-
-#define SNB_UNCERRSTS_OFFSET   0x014C
-#define SNB_CORERRSTS_OFFSET   0x0158
-#define SNB_LINK_STATUS_OFFSET 0x01A2
-#define SNB_PCICMD_OFFSET      0x0504
-#define SNB_DEVCTRL_OFFSET     0x0598
-#define SNB_DEVSTS_OFFSET      0x059A
-#define SNB_SLINK_STATUS_OFFSET        0x05A2
-
-#define SNB_PBAR2LMT_OFFSET    0x0000
-#define SNB_PBAR4LMT_OFFSET    0x0008
-#define SNB_PBAR5LMT_OFFSET    0x000C
-#define SNB_PBAR2XLAT_OFFSET   0x0010
-#define SNB_PBAR4XLAT_OFFSET   0x0018
-#define SNB_PBAR5XLAT_OFFSET   0x001C
-#define SNB_SBAR2LMT_OFFSET    0x0020
-#define SNB_SBAR4LMT_OFFSET    0x0028
-#define SNB_SBAR5LMT_OFFSET    0x002C
-#define SNB_SBAR2XLAT_OFFSET   0x0030
-#define SNB_SBAR4XLAT_OFFSET   0x0038
-#define SNB_SBAR5XLAT_OFFSET   0x003C
-#define SNB_SBAR0BASE_OFFSET   0x0040
-#define SNB_SBAR2BASE_OFFSET   0x0048
-#define SNB_SBAR4BASE_OFFSET   0x0050
-#define SNB_SBAR5BASE_OFFSET   0x0054
-#define SNB_NTBCNTL_OFFSET     0x0058
-#define SNB_SBDF_OFFSET                0x005C
-#define SNB_PDOORBELL_OFFSET   0x0060
-#define SNB_PDBMSK_OFFSET      0x0062
-#define SNB_SDOORBELL_OFFSET   0x0064
-#define SNB_SDBMSK_OFFSET      0x0066
-#define SNB_USMEMMISS_OFFSET   0x0070
-#define SNB_SPAD_OFFSET                0x0080
-#define SNB_SPADSEMA4_OFFSET   0x00c0
-#define SNB_WCCNTRL_OFFSET     0x00e0
-#define SNB_B2B_SPAD_OFFSET    0x0100
-#define SNB_B2B_DOORBELL_OFFSET        0x0140
-#define SNB_B2B_XLAT_OFFSETL   0x0144
-#define SNB_B2B_XLAT_OFFSETU   0x0148
-
-/*
- * The addresses are setup so the 32bit BARs can function. Thus
- * the addresses are all in 32bit space
- */
-#define SNB_MBAR01_USD_ADDR    0x000000002100000CULL
-#define SNB_MBAR23_USD_ADDR    0x000000004100000CULL
-#define SNB_MBAR4_USD_ADDR     0x000000008100000CULL
-#define SNB_MBAR5_USD_ADDR     0x00000000A100000CULL
-#define SNB_MBAR01_DSD_ADDR    0x000000002000000CULL
-#define SNB_MBAR23_DSD_ADDR    0x000000004000000CULL
-#define SNB_MBAR4_DSD_ADDR     0x000000008000000CULL
-#define SNB_MBAR5_DSD_ADDR     0x00000000A000000CULL
-
-#define BWD_MSIX_CNT           34
-#define BWD_MAX_SPADS          16
-#define BWD_MAX_DB_BITS                34
-#define BWD_DB_BITS_PER_VEC    1
-#define BWD_MAX_MW             2
-
-#define BWD_PCICMD_OFFSET      0xb004
-#define BWD_MBAR23_OFFSET      0xb018
-#define BWD_MBAR45_OFFSET      0xb020
-#define BWD_DEVCTRL_OFFSET     0xb048
-#define BWD_LINK_STATUS_OFFSET 0xb052
-#define BWD_ERRCORSTS_OFFSET   0xb110
-
-#define BWD_SBAR2XLAT_OFFSET   0x0008
-#define BWD_SBAR4XLAT_OFFSET   0x0010
-#define BWD_PDOORBELL_OFFSET   0x0020
-#define BWD_PDBMSK_OFFSET      0x0028
-#define BWD_NTBCNTL_OFFSET     0x0060
-#define BWD_EBDF_OFFSET                0x0064
-#define BWD_SPAD_OFFSET                0x0080
-#define BWD_SPADSEMA_OFFSET    0x00c0
-#define BWD_STKYSPAD_OFFSET    0x00c4
-#define BWD_PBAR2XLAT_OFFSET   0x8008
-#define BWD_PBAR4XLAT_OFFSET   0x8010
-#define BWD_B2B_DOORBELL_OFFSET        0x8020
-#define BWD_B2B_SPAD_OFFSET    0x8080
-#define BWD_B2B_SPADSEMA_OFFSET        0x80c0
-#define BWD_B2B_STKYSPAD_OFFSET        0x80c4
-
-#define BWD_MODPHY_PCSREG4     0x1c004
-#define BWD_MODPHY_PCSREG6     0x1c006
-
-#define BWD_IP_BASE            0xC000
-#define BWD_DESKEWSTS_OFFSET   (BWD_IP_BASE + 0x3024)
-#define BWD_LTSSMERRSTS0_OFFSET (BWD_IP_BASE + 0x3180)
-#define BWD_LTSSMSTATEJMP_OFFSET       (BWD_IP_BASE + 0x3040)
-#define BWD_IBSTERRRCRVSTS0_OFFSET     (BWD_IP_BASE + 0x3324)
-
-#define BWD_DESKEWSTS_DBERR    (1 << 15)
-#define BWD_LTSSMERRSTS0_UNEXPECTEDEI  (1 << 20)
-#define BWD_LTSSMSTATEJMP_FORCEDETECT  (1 << 2)
-#define BWD_IBIST_ERR_OFLOW    0x7FFF7FFF
-
-#define NTB_CNTL_CFG_LOCK              (1 << 0)
-#define NTB_CNTL_LINK_DISABLE          (1 << 1)
-#define NTB_CNTL_S2P_BAR23_SNOOP       (1 << 2)
-#define NTB_CNTL_P2S_BAR23_SNOOP       (1 << 4)
-#define NTB_CNTL_S2P_BAR4_SNOOP        (1 << 6)
-#define NTB_CNTL_P2S_BAR4_SNOOP        (1 << 8)
-#define NTB_CNTL_S2P_BAR5_SNOOP        (1 << 12)
-#define NTB_CNTL_P2S_BAR5_SNOOP        (1 << 14)
-#define BWD_CNTL_LINK_DOWN             (1 << 16)
-
-#define NTB_PPD_OFFSET         0x00D4
-#define SNB_PPD_CONN_TYPE      0x0003
-#define SNB_PPD_DEV_TYPE       0x0010
-#define SNB_PPD_SPLIT_BAR      (1 << 6)
-#define BWD_PPD_INIT_LINK      0x0008
-#define BWD_PPD_CONN_TYPE      0x0300
-#define BWD_PPD_DEV_TYPE       0x1000
index e9bf2f4..c5f26cd 100644 (file)
@@ -56,7 +56,7 @@
 #include <linux/pci.h>
 #include <linux/slab.h>
 #include <linux/types.h>
-#include "ntb_hw.h"
+#include "hw/intel/ntb_hw_intel.h"
 
 #define NTB_TRANSPORT_VERSION  3
 
@@ -360,14 +360,14 @@ err:
 EXPORT_SYMBOL_GPL(ntb_register_client_dev);
 
 /**
- * ntb_register_client - Register NTB client driver
+ * ntb_transport_register_client - Register NTB client driver
  * @drv: NTB client driver to be registered
  *
  * Register an NTB client driver with the NTB transport layer
  *
  * RETURNS: An appropriate -ERRNO error value on error, or zero for success.
  */
-int ntb_register_client(struct ntb_client *drv)
+int ntb_transport_register_client(struct ntb_client *drv)
 {
        drv->driver.bus = &ntb_bus_type;
 
@@ -376,21 +376,21 @@ int ntb_register_client(struct ntb_client *drv)
 
        return driver_register(&drv->driver);
 }
-EXPORT_SYMBOL_GPL(ntb_register_client);
+EXPORT_SYMBOL_GPL(ntb_transport_register_client);
 
 /**
- * ntb_unregister_client - Unregister NTB client driver
+ * ntb_transport_unregister_client - Unregister NTB client driver
  * @drv: NTB client driver to be unregistered
  *
  * Unregister an NTB client driver with the NTB transport layer
  *
  * RETURNS: An appropriate -ERRNO error value on error, or zero for success.
  */
-void ntb_unregister_client(struct ntb_client *drv)
+void ntb_transport_unregister_client(struct ntb_client *drv)
 {
        driver_unregister(&drv->driver);
 }
-EXPORT_SYMBOL_GPL(ntb_unregister_client);
+EXPORT_SYMBOL_GPL(ntb_transport_unregister_client);
 
 static ssize_t debugfs_read(struct file *filp, char __user *ubuf, size_t count,
                            loff_t *offp)
similarity index 96%
rename from include/linux/ntb.h
rename to include/linux/ntb_transport.h
index 9ac1a62..f78b64c 100644 (file)
@@ -59,8 +59,8 @@ enum {
        NTB_LINK_UP,
 };
 
-int ntb_register_client(struct ntb_client *drvr);
-void ntb_unregister_client(struct ntb_client *drvr);
+int ntb_transport_register_client(struct ntb_client *drvr);
+void ntb_transport_unregister_client(struct ntb_client *drvr);
 int ntb_register_client_dev(char *device_name);
 void ntb_unregister_client_dev(char *device_name);