From: Leon Romanovsky <leonro@xxxxxxxxxxxx> >From Jason, There is too much duplicated code here, centralized it all into the core code and provide a much better implementation. This comes about because Linus remarked that he did not like the manipulation of vma_ops by the drivers, this new code changes that approach and corrects some locking problems. Thanks Jason Gunthorpe (5): RDMA/ucontext: Add a core API for mmaping driver IO memory RDMA/mlx4: Use rdma_user_mmap_io RDMA/mlx5: Use rdma_user_mmap_io RDMA/hns: Use rdma_user_mmap_io RDMA/ucontext: Get rid of the old disassociate flow drivers/infiniband/core/rdma_core.c | 55 ++----- drivers/infiniband/core/rdma_core.h | 1 + drivers/infiniband/core/uverbs.h | 3 + drivers/infiniband/core/uverbs_main.c | 223 ++++++++++++++++++++++++++++ drivers/infiniband/hw/hns/hns_roce_device.h | 8 - drivers/infiniband/hw/hns/hns_roce_main.c | 101 +++---------- drivers/infiniband/hw/mlx4/main.c | 142 +++--------------- drivers/infiniband/hw/mlx4/mlx4_ib.h | 5 - drivers/infiniband/hw/mlx5/main.c | 122 +-------------- drivers/infiniband/hw/mlx5/mlx5_ib.h | 10 -- include/rdma/ib_verbs.h | 22 +++ 11 files changed, 314 insertions(+), 378 deletions(-) -- 2.14.4