Follw the RFC patch from Jason, I have added the required code to eliminate depmod circular dependency from the form ib_core -> ib_uverbs -> ib_core arose from the second patch. Both patches worked OK for me with some minimal ibv_rc_pingpond and ib_[write|send]_bw tests. I also tested removal of all rdma modules. If the approach is OK I can send formal patch set for this part. shamir rabinovitch (2): IB/{core,uverbs}: ib_uverbs callback registration in ib_core IB/{core,hw}: ib_umem_get extract ib_ucontext from ib_udata drivers/infiniband/core/device.c | 51 +++++++++++++++++++ drivers/infiniband/core/umem.c | 17 ++++++- drivers/infiniband/core/uverbs_main.c | 38 ++++++++++++++ drivers/infiniband/hw/bnxt_re/ib_verbs.c | 10 ++-- drivers/infiniband/hw/cxgb3/iwch_provider.c | 2 +- drivers/infiniband/hw/cxgb4/mem.c | 2 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 6 +-- drivers/infiniband/hw/hns/hns_roce_db.c | 5 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 4 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 2 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 4 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 2 +- drivers/infiniband/hw/mlx4/cq.c | 12 ++--- drivers/infiniband/hw/mlx4/doorbell.c | 5 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 3 +- drivers/infiniband/hw/mlx4/mr.c | 11 ++-- drivers/infiniband/hw/mlx4/qp.c | 5 +- drivers/infiniband/hw/mlx4/srq.c | 4 +- drivers/infiniband/hw/mlx5/cq.c | 7 ++- drivers/infiniband/hw/mlx5/devx.c | 2 +- drivers/infiniband/hw/mlx5/doorbell.c | 5 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 4 +- drivers/infiniband/hw/mlx5/mr.c | 22 ++++---- drivers/infiniband/hw/mlx5/odp.c | 4 +- drivers/infiniband/hw/mlx5/qp.c | 24 ++++----- drivers/infiniband/hw/mlx5/srq.c | 4 +- drivers/infiniband/hw/mthca/mthca_provider.c | 2 +- drivers/infiniband/hw/nes/nes_verbs.c | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +- drivers/infiniband/hw/qedr/verbs.c | 24 ++++----- drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 4 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 +- drivers/infiniband/sw/rdmavt/mr.c | 2 +- drivers/infiniband/sw/rxe/rxe_mr.c | 2 +- include/rdma/ib_umem.h | 5 +- include/rdma/ib_verbs.h | 14 +++++ 38 files changed, 221 insertions(+), 97 deletions(-) -- 2.17.2