@@ -940,7 +940,7 @@ symver(__ibv_detach_mcast_1_0, ibv_detach_mcast, IBVERBS_1.0);
typedef struct ibv_device *(*ibv_driver_init_func_1_1)(const char *uverbs_sys_path,
int abi_version);
-void __ibv_register_driver_1_1(const char *name, ibv_driver_init_func init_func_1_1)
+void __ibv_register_driver_1_1(const char *name, ibv_driver_init_func_1_1 init_func)
{
/* The driver interface is private as of rdma-core 13. This stub is
* left to preserve dynamic-link compatability with old libfabrics
@@ -127,13 +127,10 @@ verbs_get_device(const struct ibv_device *dev)
return container_of(dev, struct verbs_device, device);
}
-typedef struct verbs_device *(*ibv_driver_init_func)(const char *uverbs_sys_path,
- int abi_version);
typedef struct verbs_device *(*verbs_driver_init_func)(const char *uverbs_sys_path,
int abi_version);
-
-void ibv_register_driver(const char *name, ibv_driver_init_func init_func);
void verbs_register_driver(const char *name, verbs_driver_init_func init_func);
+
int ibv_cmd_get_context(struct ibv_context *context, struct ibv_get_context *cmd,
size_t cmd_size, struct ibv_get_context_resp *resp,
size_t resp_size);
@@ -71,7 +71,6 @@ struct ibv_driver_name {
struct ibv_driver {
const char *name;
- ibv_driver_init_func init_func;
verbs_driver_init_func verbs_init_func;
struct ibv_driver *next;
};
@@ -161,8 +160,8 @@ static int find_sysfs_devs(void)
return ret;
}
-static void register_driver(const char *name, ibv_driver_init_func init_func,
- verbs_driver_init_func verbs_init_func)
+void verbs_register_driver(const char *name,
+ verbs_driver_init_func verbs_init_func)
{
struct ibv_driver *driver;
@@ -173,7 +172,6 @@ static void register_driver(const char *name, ibv_driver_init_func init_func,
}
driver->name = name;
- driver->init_func = init_func;
driver->verbs_init_func = verbs_init_func;
driver->next = NULL;
@@ -184,20 +182,6 @@ static void register_driver(const char *name, ibv_driver_init_func init_func,
tail_driver = driver;
}
-void __ibv_register_driver(const char *name, ibv_driver_init_func init_func)
-{
- register_driver(name, init_func, NULL);
-}
-private_symver(__ibv_register_driver, ibv_register_driver);
-
-/* New registration symbol with same functionality - used by providers to
- * validate that library supports verbs extension.
- */
-void verbs_register_driver(const char *name, verbs_driver_init_func init_func)
-{
- register_driver(name, NULL, init_func);
-}
-
#define __IBV_QUOTE(x) #x
#define IBV_QUOTE(x) __IBV_QUOTE(x)
#define DLOPEN_TRAILER "-" IBV_QUOTE(IBV_DEVICE_LIBRARY_EXTENSION) ".so"
@@ -384,20 +368,13 @@ static struct ibv_device *try_driver(struct ibv_driver *driver,
struct ibv_device *dev;
char value[16];
- if (driver->init_func) {
- vdev = driver->init_func(sysfs_dev->sysfs_path, sysfs_dev->abi_ver);
- if (!vdev)
- return NULL;
- dev = &vdev->device;
- } else {
- vdev = driver->verbs_init_func(sysfs_dev->sysfs_path, sysfs_dev->abi_ver);
- if (!vdev)
- return NULL;
+ vdev = driver->verbs_init_func(sysfs_dev->sysfs_path, sysfs_dev->abi_ver);
+ if (!vdev)
+ return NULL;
- dev = &vdev->device;
- assert(dev->_ops._dummy1 == NULL);
- assert(dev->_ops._dummy2 == NULL);
- }
+ dev = &vdev->device;
+ assert(dev->_ops._dummy1 == NULL);
+ assert(dev->_ops._dummy2 == NULL);
if (ibv_read_sysfs_file(sysfs_dev->ibdev_path, "node_type", value, sizeof value) < 0) {
fprintf(stderr, PFX "Warning: no node_type attr under %s.\n",
@@ -284,5 +284,5 @@ err1:
static __attribute__((constructor)) void cxgb3_register_driver(void)
{
- ibv_register_driver("cxgb3", cxgb3_driver_init);
+ verbs_register_driver("cxgb3", cxgb3_driver_init);
}
@@ -512,7 +512,7 @@ static __attribute__((constructor)) void cxgb4_register_driver(void)
c4iw_page_size = sysconf(_SC_PAGESIZE);
c4iw_page_shift = long_log2(c4iw_page_size);
c4iw_page_mask = ~(c4iw_page_size - 1);
- ibv_register_driver("cxgb4", cxgb4_driver_init);
+ verbs_register_driver("cxgb4", cxgb4_driver_init);
}
#ifdef STATS
@@ -219,5 +219,5 @@ found:
static __attribute__((constructor)) void hfi1_register_driver(void)
{
- ibv_register_driver("hfi1verbs", hfi1_driver_init);
+ verbs_register_driver("hfi1verbs", hfi1_driver_init);
}
@@ -224,5 +224,5 @@ found:
static __attribute__((constructor)) void hns_roce_register_driver(void)
{
- ibv_register_driver("hns", hns_roce_driver_init);
+ verbs_register_driver("hns", hns_roce_driver_init);
}
@@ -256,5 +256,5 @@ found:
static __attribute__ ((constructor)) void i40iw_register_driver(void)
{
- ibv_register_driver("i40iw", i40iw_driver_init);
+ verbs_register_driver("i40iw", i40iw_driver_init);
}
@@ -218,5 +218,5 @@ found:
static __attribute__((constructor)) void ipath_register_driver(void)
{
- ibv_register_driver("ipathverbs", ipath_driver_init);
+ verbs_register_driver("ipathverbs", ipath_driver_init);
}
@@ -262,5 +262,5 @@ found:
static __attribute__((constructor)) void mthca_register_driver(void)
{
- ibv_register_driver("mthca", mthca_driver_init);
+ verbs_register_driver("mthca", mthca_driver_init);
}
@@ -253,5 +253,5 @@ static __attribute__((constructor)) void nes_register_driver(void)
{
/* fprintf(stderr, PFX "nes_register_driver: call ibv_register_driver()\n"); */
- ibv_register_driver("nes", nes_driver_init);
+ verbs_register_driver("nes", nes_driver_init);
}
@@ -237,5 +237,5 @@ qp_err:
static __attribute__ ((constructor))
void ocrdma_register_driver(void)
{
- ibv_register_driver("ocrdma", ocrdma_driver_init);
+ verbs_register_driver("ocrdma", ocrdma_driver_init);
}
@@ -280,5 +280,5 @@ found:
static __attribute__ ((constructor))
void qelr_register_driver(void)
{
- ibv_register_driver("qelr", qelr_driver_init);
+ verbs_register_driver("qelr", qelr_driver_init);
}
@@ -922,5 +922,5 @@ static struct verbs_device *rxe_driver_init(const char *uverbs_sys_path,
static __attribute__ ((constructor))
void rxe_register_driver(void)
{
- ibv_register_driver("rxe", rxe_driver_init);
+ verbs_register_driver("rxe", rxe_driver_init);
}
@@ -225,5 +225,5 @@ static struct verbs_device *pvrdma_driver_init(const char *uverbs_sys_path,
static __attribute__((constructor)) void pvrdma_register_driver(void)
{
- ibv_register_driver("pvrdma", pvrdma_driver_init);
+ verbs_register_driver("pvrdma", pvrdma_driver_init);
}
This is now identical to verbs_register driver, so use the new name. We prefer verbs_register_driver as a name because of the symver compat hack for ibv_register_driver. Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> --- libibverbs/compat-1_0.c | 2 +- libibverbs/driver.h | 5 +---- libibverbs/init.c | 39 ++++++++------------------------------ providers/cxgb3/iwch.c | 2 +- providers/cxgb4/dev.c | 2 +- providers/hfi1verbs/hfiverbs.c | 2 +- providers/hns/hns_roce_u.c | 2 +- providers/i40iw/i40iw_umain.c | 2 +- providers/ipathverbs/ipathverbs.c | 2 +- providers/mthca/mthca.c | 2 +- providers/nes/nes_umain.c | 2 +- providers/ocrdma/ocrdma_main.c | 2 +- providers/qedr/qelr_main.c | 2 +- providers/rxe/rxe.c | 2 +- providers/vmw_pvrdma/pvrdma_main.c | 2 +- 15 files changed, 22 insertions(+), 48 deletions(-)