diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2019-06-14 03:38:18 +0300 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2019-06-19 05:41:05 +0300 |
commit | 0e2d00eb6fd45f2a645f4874286bdc5b4b53782b (patch) | |
tree | 09c593d14ba74de14aad426b428279a2814e654d /include/rdma/ib_verbs.h | |
parent | 5d60c11154116e2127374d4178e952649612b69b (diff) | |
download | linux-0e2d00eb6fd45f2a645f4874286bdc5b4b53782b.tar.xz |
RDMA: Add NLDEV_GET_CHARDEV to allow char dev discovery and autoload
Allow userspace to issue a netlink query against the ib_device for
something like "uverbs" and get back the char dev name, inode major/minor,
and interface ABI information for "uverbs0".
Since we are now in netlink this can also trigger a module autoload to
make the uverbs device come into existence.
Largely this will let us replace searching and reading inside sysfs to
setup devices, and provides an alternative (using driver_id) to device
name based provider binding for things like rxe.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'include/rdma/ib_verbs.h')
-rw-r--r-- | include/rdma/ib_verbs.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h index 973514ea17a7..a1265e9ce2d1 100644 --- a/include/rdma/ib_verbs.h +++ b/include/rdma/ib_verbs.h @@ -2684,10 +2684,14 @@ struct ib_device { u32 iw_driver_flags; }; +struct ib_client_nl_info; struct ib_client { const char *name; void (*add) (struct ib_device *); void (*remove)(struct ib_device *, void *client_data); + int (*get_nl_info)(struct ib_device *ibdev, void *client_data, + struct ib_client_nl_info *res); + int (*get_global_nl_info)(struct ib_client_nl_info *res); /* Returns the net_dev belonging to this ib_client and matching the * given parameters. |