IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs
authorShamir Rabinovitch <shamir.rabinovitch@oracle.com>
Wed, 9 Jan 2019 09:15:15 +0000 (11:15 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 11 Jan 2019 00:06:44 +0000 (17:06 -0700)
The next patch will add dependency from ib_umem_get in to ib_uverbs so
move the required ib_umem_xxx functionality to it's correct module -
ib_uverbs - and avoid circular dependecy from the form of ib_core ->
ib_uverbs -> ib_core in depmod.

Since this now requires all drivers to be build modular if uverbs is
modular, hoist the test a couple drivers had into the main kconfig and
apply it to all drivers uniformly.

Signed-off-by: Shamir Rabinovitch <shamir.rabinovitch@oracle.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/Kconfig
drivers/infiniband/core/Makefile
drivers/infiniband/hw/hns/Kconfig
drivers/infiniband/hw/mlx4/Kconfig
drivers/infiniband/hw/mlx5/Kconfig
drivers/infiniband/hw/nes/Kconfig

index 0a3ec7c..a1fb840 100644 (file)
@@ -89,6 +89,7 @@ config INFINIBAND_ADDR_TRANS_CONFIGFS
          This allows the user to config the default GID type that the CM
          uses for each device, when initiaing new connections.
 
+if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
 source "drivers/infiniband/hw/mthca/Kconfig"
 source "drivers/infiniband/hw/qib/Kconfig"
 source "drivers/infiniband/hw/cxgb3/Kconfig"
@@ -101,6 +102,12 @@ source "drivers/infiniband/hw/ocrdma/Kconfig"
 source "drivers/infiniband/hw/vmw_pvrdma/Kconfig"
 source "drivers/infiniband/hw/usnic/Kconfig"
 source "drivers/infiniband/hw/hns/Kconfig"
+source "drivers/infiniband/hw/bnxt_re/Kconfig"
+source "drivers/infiniband/hw/hfi1/Kconfig"
+source "drivers/infiniband/hw/qedr/Kconfig"
+source "drivers/infiniband/sw/rdmavt/Kconfig"
+source "drivers/infiniband/sw/rxe/Kconfig"
+endif
 
 source "drivers/infiniband/ulp/ipoib/Kconfig"
 
@@ -111,13 +118,5 @@ source "drivers/infiniband/ulp/iser/Kconfig"
 source "drivers/infiniband/ulp/isert/Kconfig"
 
 source "drivers/infiniband/ulp/opa_vnic/Kconfig"
-source "drivers/infiniband/sw/rdmavt/Kconfig"
-source "drivers/infiniband/sw/rxe/Kconfig"
-
-source "drivers/infiniband/hw/hfi1/Kconfig"
-
-source "drivers/infiniband/hw/qedr/Kconfig"
-
-source "drivers/infiniband/hw/bnxt_re/Kconfig"
 
 endif # INFINIBAND
index 69dee36..313f234 100644 (file)
@@ -15,8 +15,6 @@ ib_core-y :=                  packer.o ud_header.o verbs.o cq.o rw.o sysfs.o \
                                nldev.o restrack.o
 
 ib_core-$(CONFIG_SECURITY_INFINIBAND) += security.o
-ib_core-$(CONFIG_INFINIBAND_USER_MEM) += umem.o
-ib_core-$(CONFIG_INFINIBAND_ON_DEMAND_PAGING) += umem_odp.o
 ib_core-$(CONFIG_CGROUP_RDMA) += cgroup.o
 
 ib_cm-y :=                     cm.o
@@ -39,3 +37,5 @@ ib_uverbs-y :=                        uverbs_main.o uverbs_cmd.o uverbs_marshall.o \
                                uverbs_std_types_flow_action.o uverbs_std_types_dm.o \
                                uverbs_std_types_mr.o uverbs_std_types_counters.o \
                                uverbs_uapi.o uverbs_std_types_device.o
+ib_uverbs-$(CONFIG_INFINIBAND_USER_MEM) += umem.o
+ib_uverbs-$(CONFIG_INFINIBAND_ON_DEMAND_PAGING) += umem_odp.o
index 21c2100..fddb5fd 100644 (file)
@@ -1,7 +1,6 @@
 config INFINIBAND_HNS
        tristate "HNS RoCE Driver"
        depends on NET_VENDOR_HISILICON
-       depends on INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
        depends on ARM64 || (COMPILE_TEST && 64BIT)
        ---help---
          This is a RoCE/RDMA driver for the Hisilicon RoCE engine. The engine
index d1de328..db4aa13 100644 (file)
@@ -1,7 +1,6 @@
 config MLX4_INFINIBAND
        tristate "Mellanox ConnectX HCA support"
        depends on NETDEVICES && ETHERNET && PCI && INET
-       depends on INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS
        depends on MAY_USE_DEVLINK
        select NET_VENDOR_MELLANOX
        select MLX4_CORE
index 0440966..8d651c0 100644 (file)
@@ -1,7 +1,6 @@
 config MLX5_INFINIBAND
        tristate "Mellanox 5th generation network adapters (ConnectX series) support"
        depends on NETDEVICES && ETHERNET && PCI && MLX5_CORE
-       depends on INFINIBAND_USER_ACCESS || INFINIBAND_USER_ACCESS=n
        ---help---
          This driver provides low-level InfiniBand support for
          Mellanox Connect-IB PCI Express host channel adapters (HCAs).
index 7964eba..52caae9 100644 (file)
@@ -1,6 +1,6 @@
 config INFINIBAND_NES
        tristate "NetEffect RNIC Driver"
-       depends on PCI && INET && INFINIBAND
+       depends on PCI && INET
        select LIBCRC32C
        ---help---
          This is the RDMA Network Interface Card (RNIC) driver for