RDMA/netlink: Remove netlink clients infrastructure
authorLeon Romanovsky <leonro@mellanox.com>
Mon, 5 Jun 2017 07:20:11 +0000 (10:20 +0300)
committerLeon Romanovsky <leon@kernel.org>
Thu, 10 Aug 2017 10:13:06 +0000 (13:13 +0300)
commitc9901724a2f14128ef6a57986babcbfbcf61a257
treea7312ed62f5dee155077aeb4abaa33e055fd643a
parent9047811b776ce09ba06623dd2a846cc501f0065b
RDMA/netlink: Remove netlink clients infrastructure

RDMA netlink has a complicated infrastructure for dynamically
registering and de-registering netlink clients to the NETLINK_RDMA
group. The complicated portion of this code is not widely used because
2 of the 3 current clients are statically compiled together with
netlink.c. The infrastructure, therefore, is deemed overkill.

Refactor the code to eliminate the dynamically added clients. Now all
clients are pre-registered in a client array at compile time, and at run
time they merely check-in with the infrastructure to pass their callback
table for inclusion in the pre-sized client array.

This also allows for future cleanups and removal of unneeded code in the
iwcm* netlink handler.

Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Reviewed-by: Chien Tin Tung <chien.tin.tung@intel.com>
drivers/infiniband/core/cma.c
drivers/infiniband/core/core_priv.h
drivers/infiniband/core/device.c
drivers/infiniband/core/iwcm.c
drivers/infiniband/core/netlink.c
include/rdma/rdma_netlink.h