This series from Patrisious adds a new device operation to allow the driver to cleanup HW objects in parallel to the ufile cleanup. This is useful for drivers that have HW objects that are not associated with a kernel structures and doesn't have any dependencies on other objects. In mlx5 case, we are using this new operation to cleanup DEVX QP objects, which are independent from the rest verbs objects (like PD, CQ, e.t.c). Thanks Patrisious Haddad (3): RDMA/core: Add device ufile cleanup operation RDMA/core: Move ib_uverbs_file struct to uverbs_types.h RDMA/mlx5: Add implementation for ufile_hw_cleanup device operation drivers/infiniband/core/device.c | 1 + drivers/infiniband/core/rdma_core.c | 12 +++- drivers/infiniband/core/uverbs.h | 31 ---------- drivers/infiniband/hw/mlx5/devx.c | 93 ++++++++++++++++++++++++++++- drivers/infiniband/hw/mlx5/devx.h | 4 ++ drivers/infiniband/hw/mlx5/main.c | 1 + include/rdma/ib_verbs.h | 6 ++ include/rdma/uverbs_types.h | 33 ++++++++++ 8 files changed, 146 insertions(+), 35 deletions(-) -- 2.46.2