Now that that kernel implements query_device_ex for every driver we should do the same in userspace. Have providers implement only query_device_ex() and feed query_device() down the same path. This eliminates some duplicated code in the providers and allows every provider to fully support query_device_ex with any new kernel features added. This is a PR: https://github.com/linux-rdma/rdma-core/pull/890 Jason Gunthorpe (9): verbs: Simplify query_device_ex verbs: Add ibv_cmd_query_device_any() mlx5: Move context initialization out of mlx5_query_device_ex() efa: Move the context intialization out of efa_query_device_ex() mlx4: Move the context intialization out of mlx4_query_device_ex() providers: Remove normal query_device() from providers that have _ex providers: Convert all providers to implement query_device_ex verbs: Remove dead code verbs: Delete query_device() internal support libibverbs/cmd.c | 212 ----------------------------- libibverbs/cmd_device.c | 155 +++++++++++++++++++++ libibverbs/device.c | 1 + libibverbs/driver.h | 19 +-- libibverbs/dummy_ops.c | 21 +-- libibverbs/libibverbs.map.in | 2 +- libibverbs/verbs.c | 5 +- libibverbs/verbs.h | 3 +- providers/bnxt_re/main.c | 2 +- providers/bnxt_re/verbs.c | 30 ++-- providers/bnxt_re/verbs.h | 5 +- providers/cxgb4/dev.c | 10 +- providers/cxgb4/libcxgb4.h | 3 +- providers/cxgb4/verbs.c | 14 +- providers/efa/efa.c | 15 +- providers/efa/verbs.c | 82 ++++++----- providers/efa/verbs.h | 2 +- providers/hfi1verbs/hfiverbs.c | 2 +- providers/hfi1verbs/hfiverbs.h | 5 +- providers/hfi1verbs/verbs.c | 13 +- providers/hns/hns_roce_u.c | 8 +- providers/hns/hns_roce_u.h | 3 +- providers/hns/hns_roce_u_verbs.c | 15 +- providers/i40iw/i40iw_umain.c | 2 +- providers/i40iw/i40iw_umain.h | 4 +- providers/i40iw/i40iw_uverbs.c | 18 ++- providers/ipathverbs/ipathverbs.c | 2 +- providers/ipathverbs/ipathverbs.h | 5 +- providers/ipathverbs/verbs.c | 13 +- providers/mlx4/mlx4.c | 34 +---- providers/mlx4/mlx4.h | 3 +- providers/mlx4/verbs.c | 86 +++++++----- providers/mlx5/mlx5.c | 11 +- providers/mlx5/mlx5.h | 3 +- providers/mlx5/verbs.c | 129 +++++++++--------- providers/mthca/mthca.c | 2 +- providers/mthca/mthca.h | 3 +- providers/mthca/verbs.c | 13 +- providers/ocrdma/ocrdma_main.c | 2 +- providers/ocrdma/ocrdma_main.h | 4 +- providers/ocrdma/ocrdma_verbs.c | 20 +-- providers/qedr/qelr_main.c | 2 +- providers/qedr/qelr_verbs.c | 21 +-- providers/qedr/qelr_verbs.h | 3 +- providers/rxe/rxe.c | 15 +- providers/siw/siw.c | 20 +-- providers/vmw_pvrdma/pvrdma.h | 3 +- providers/vmw_pvrdma/pvrdma_main.c | 2 +- providers/vmw_pvrdma/verbs.c | 13 +- util/util.h | 3 + 50 files changed, 511 insertions(+), 552 deletions(-) -- 2.29.2