RDMA: Add NLDEV_GET_CHARDEV to allow char dev discovery and autoload
authorJason Gunthorpe <jgg@mellanox.com>
Fri, 14 Jun 2019 00:38:18 +0000 (21:38 -0300)
committerDoug Ledford <dledford@redhat.com>
Wed, 19 Jun 2019 02:41:05 +0000 (22:41 -0400)
commit0e2d00eb6fd45f2a645f4874286bdc5b4b53782b
tree09c593d14ba74de14aad426b428279a2814e654d
parent5d60c11154116e2127374d4178e952649612b69b
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>
drivers/infiniband/core/core_priv.h
drivers/infiniband/core/device.c
drivers/infiniband/core/nldev.c
include/rdma/ib_verbs.h
include/rdma/rdma_netlink.h
include/uapi/rdma/rdma_netlink.h