RDMA/core: Make FD destroy callback void
authorLeon Romanovsky <leonro@nvidia.com>
Wed, 4 Nov 2020 14:45:56 +0000 (16:45 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Thu, 12 Nov 2020 16:32:17 +0000 (12:32 -0400)
All FD object destroy implementations return 0, so declare this callback
void.

Link: https://lore.kernel.org/r/20201104144556.3809085-3-leon@kernel.org
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/rdma_core.c
drivers/infiniband/core/uverbs_std_types.c
drivers/infiniband/core/uverbs_std_types_async_fd.c
drivers/infiniband/hw/mlx5/devx.c
include/rdma/uverbs_types.h

index 61fa0a3..c44079b 100644 (file)
@@ -571,7 +571,8 @@ static int __must_check destroy_hw_fd_uobject(struct ib_uobject *uobj,
        const struct uverbs_obj_fd_type *fd_type = container_of(
                uobj->uapi_object->type_attrs, struct uverbs_obj_fd_type, type);
 
-       return fd_type->destroy_object(uobj, why);
+       fd_type->destroy_object(uobj, why);
+       return 0;
 }
 
 static void remove_handle_fd_uobject(struct ib_uobject *uobj)
index 585042e..13776a6 100644 (file)
@@ -154,7 +154,7 @@ void ib_uverbs_free_event_queue(struct ib_uverbs_event_queue *event_queue)
        spin_unlock_irq(&event_queue->lock);
 }
 
-static int
+static void
 uverbs_completion_event_file_destroy_uobj(struct ib_uobject *uobj,
                                          enum rdma_remove_reason why)
 {
@@ -163,7 +163,6 @@ uverbs_completion_event_file_destroy_uobj(struct ib_uobject *uobj,
                             uobj);
 
        ib_uverbs_free_event_queue(&file->ev_queue);
-       return 0;
 }
 
 int uverbs_destroy_def_handler(struct uverbs_attr_bundle *attrs)
index 61899ea..cc24cfd 100644 (file)
@@ -19,8 +19,8 @@ static int UVERBS_HANDLER(UVERBS_METHOD_ASYNC_EVENT_ALLOC)(
        return 0;
 }
 
-static int uverbs_async_event_destroy_uobj(struct ib_uobject *uobj,
-                                          enum rdma_remove_reason why)
+static void uverbs_async_event_destroy_uobj(struct ib_uobject *uobj,
+                                           enum rdma_remove_reason why)
 {
        struct ib_uverbs_async_event_file *event_file =
                container_of(uobj, struct ib_uverbs_async_event_file, uobj);
@@ -30,7 +30,6 @@ static int uverbs_async_event_destroy_uobj(struct ib_uobject *uobj,
        if (why == RDMA_REMOVE_DRIVER_REMOVE)
                ib_uverbs_async_handler(event_file, 0, IB_EVENT_DEVICE_FATAL,
                                        NULL, NULL);
-       return 0;
 }
 
 int uverbs_async_event_release(struct inode *inode, struct file *filp)
index c315dbe..f683947 100644 (file)
@@ -2594,8 +2594,8 @@ static const struct file_operations devx_async_event_fops = {
        .llseek  = no_llseek,
 };
 
-static int devx_async_cmd_event_destroy_uobj(struct ib_uobject *uobj,
-                                            enum rdma_remove_reason why)
+static void devx_async_cmd_event_destroy_uobj(struct ib_uobject *uobj,
+                                             enum rdma_remove_reason why)
 {
        struct devx_async_cmd_event_file *comp_ev_file =
                container_of(uobj, struct devx_async_cmd_event_file,
@@ -2617,11 +2617,10 @@ static int devx_async_cmd_event_destroy_uobj(struct ib_uobject *uobj,
                kvfree(entry);
        }
        spin_unlock_irq(&comp_ev_file->ev_queue.lock);
-       return 0;
 };
 
-static int devx_async_event_destroy_uobj(struct ib_uobject *uobj,
-                                        enum rdma_remove_reason why)
+static void devx_async_event_destroy_uobj(struct ib_uobject *uobj,
+                                         enum rdma_remove_reason why)
 {
        struct devx_async_event_file *ev_file =
                container_of(uobj, struct devx_async_event_file,
@@ -2665,7 +2664,6 @@ static int devx_async_event_destroy_uobj(struct ib_uobject *uobj,
        mutex_unlock(&dev->devx_event_table.event_xa_lock);
 
        put_device(&dev->ib_dev.dev);
-       return 0;
 };
 
 DECLARE_UVERBS_NAMED_METHOD(
index 06db27e..a27e9fb 100644 (file)
@@ -138,8 +138,8 @@ struct uverbs_obj_fd_type {
         * because the driver is removed or the FD is closed.
         */
        struct uverbs_obj_type  type;
-       int (*destroy_object)(struct ib_uobject *uobj,
-                             enum rdma_remove_reason why);
+       void (*destroy_object)(struct ib_uobject *uobj,
+                              enum rdma_remove_reason why);
        const struct file_operations    *fops;
        const char                      *name;
        int                             flags;