Commit 528922af authored by Yishai Hadas's avatar Yishai Hadas Committed by Jason Gunthorpe

IB: Enable uverbs_destroy_def_handler to be used by drivers

Enable uverbs_destroy_def_handler to be used by drivers and replace
current code to use it.
Signed-off-by: default avatarYishai Hadas <yishaih@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 781a4016
...@@ -246,9 +246,6 @@ void ib_uverbs_detach_umcast(struct ib_qp *qp, ...@@ -246,9 +246,6 @@ void ib_uverbs_detach_umcast(struct ib_qp *qp,
void create_udata(struct uverbs_attr_bundle *ctx, struct ib_udata *udata); void create_udata(struct uverbs_attr_bundle *ctx, struct ib_udata *udata);
long ib_uverbs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg); long ib_uverbs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg);
int uverbs_destroy_def_handler(struct ib_device *ib_dev,
struct ib_uverbs_file *file,
struct uverbs_attr_bundle *attrs);
struct ib_uverbs_flow_spec { struct ib_uverbs_flow_spec {
union { union {
......
...@@ -215,6 +215,7 @@ int uverbs_destroy_def_handler(struct ib_device *ib_dev, ...@@ -215,6 +215,7 @@ int uverbs_destroy_def_handler(struct ib_device *ib_dev,
{ {
return 0; return 0;
} }
EXPORT_SYMBOL(uverbs_destroy_def_handler);
void create_udata(struct uverbs_attr_bundle *ctx, struct ib_udata *udata) void create_udata(struct uverbs_attr_bundle *ctx, struct ib_udata *udata)
{ {
......
...@@ -682,13 +682,6 @@ static int devx_obj_cleanup(struct ib_uobject *uobject, ...@@ -682,13 +682,6 @@ static int devx_obj_cleanup(struct ib_uobject *uobject,
return ret; return ret;
} }
static int UVERBS_HANDLER(MLX5_IB_METHOD_DEVX_OBJ_DESTROY)(struct ib_device *ib_dev,
struct ib_uverbs_file *file,
struct uverbs_attr_bundle *attrs)
{
return 0;
}
static int UVERBS_HANDLER(MLX5_IB_METHOD_DEVX_OBJ_CREATE)(struct ib_device *ib_dev, static int UVERBS_HANDLER(MLX5_IB_METHOD_DEVX_OBJ_CREATE)(struct ib_device *ib_dev,
struct ib_uverbs_file *file, struct ib_uverbs_file *file,
struct uverbs_attr_bundle *attrs) struct uverbs_attr_bundle *attrs)
...@@ -961,13 +954,6 @@ static int UVERBS_HANDLER(MLX5_IB_METHOD_DEVX_UMEM_REG)(struct ib_device *ib_dev ...@@ -961,13 +954,6 @@ static int UVERBS_HANDLER(MLX5_IB_METHOD_DEVX_UMEM_REG)(struct ib_device *ib_dev
return err; return err;
} }
static int UVERBS_HANDLER(MLX5_IB_METHOD_DEVX_UMEM_DEREG)(struct ib_device *ib_dev,
struct ib_uverbs_file *file,
struct uverbs_attr_bundle *attrs)
{
return 0;
}
static int devx_umem_cleanup(struct ib_uobject *uobject, static int devx_umem_cleanup(struct ib_uobject *uobject,
enum rdma_remove_reason why) enum rdma_remove_reason why)
{ {
...@@ -1003,7 +989,7 @@ DECLARE_UVERBS_NAMED_METHOD( ...@@ -1003,7 +989,7 @@ DECLARE_UVERBS_NAMED_METHOD(
UVERBS_ATTR_TYPE(u32), UVERBS_ATTR_TYPE(u32),
UA_MANDATORY)); UA_MANDATORY));
DECLARE_UVERBS_NAMED_METHOD( DECLARE_UVERBS_NAMED_METHOD_DESTROY(
MLX5_IB_METHOD_DEVX_UMEM_DEREG, MLX5_IB_METHOD_DEVX_UMEM_DEREG,
UVERBS_ATTR_IDR(MLX5_IB_ATTR_DEVX_UMEM_DEREG_HANDLE, UVERBS_ATTR_IDR(MLX5_IB_ATTR_DEVX_UMEM_DEREG_HANDLE,
MLX5_IB_OBJECT_DEVX_UMEM, MLX5_IB_OBJECT_DEVX_UMEM,
...@@ -1056,7 +1042,7 @@ DECLARE_UVERBS_NAMED_METHOD( ...@@ -1056,7 +1042,7 @@ DECLARE_UVERBS_NAMED_METHOD(
UVERBS_ATTR_MIN_SIZE(MLX5_ST_SZ_BYTES(general_obj_out_cmd_hdr)), UVERBS_ATTR_MIN_SIZE(MLX5_ST_SZ_BYTES(general_obj_out_cmd_hdr)),
UA_MANDATORY)); UA_MANDATORY));
DECLARE_UVERBS_NAMED_METHOD( DECLARE_UVERBS_NAMED_METHOD_DESTROY(
MLX5_IB_METHOD_DEVX_OBJ_DESTROY, MLX5_IB_METHOD_DEVX_OBJ_DESTROY,
UVERBS_ATTR_IDR(MLX5_IB_ATTR_DEVX_OBJ_DESTROY_HANDLE, UVERBS_ATTR_IDR(MLX5_IB_ATTR_DEVX_OBJ_DESTROY_HANDLE,
MLX5_IB_OBJECT_DEVX_OBJ, MLX5_IB_OBJECT_DEVX_OBJ,
......
...@@ -4146,4 +4146,7 @@ void rdma_roce_rescan_device(struct ib_device *ibdev); ...@@ -4146,4 +4146,7 @@ void rdma_roce_rescan_device(struct ib_device *ibdev);
struct ib_ucontext *ib_uverbs_get_ucontext(struct ib_uverbs_file *ufile); struct ib_ucontext *ib_uverbs_get_ucontext(struct ib_uverbs_file *ufile);
int uverbs_destroy_def_handler(struct ib_device *ib_dev,
struct ib_uverbs_file *file,
struct uverbs_attr_bundle *attrs);
#endif /* IB_VERBS_H */ #endif /* IB_VERBS_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment