staging: vchiq_arm: make vchiq_shutdown_internal return void
authorStefan Wahren <stefan.wahren@i2se.com>
Sat, 15 May 2021 19:10:55 +0000 (21:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 May 2021 15:56:32 +0000 (17:56 +0200)
The function vchiq_shutdown_internal always returns VCHIQ_SUCCESS. So change
the return type to void and simplify the logic in vchiq_shutdown.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1621105859-30215-17-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h

index d1ecd580d4a478a05a6712805a5c6ec5f9d4d634..d351b467e30a175b420a19e3c7a9254086ca7345 100644 (file)
@@ -202,33 +202,30 @@ EXPORT_SYMBOL(vchiq_initialise);
 
 enum vchiq_status vchiq_shutdown(struct vchiq_instance *instance)
 {
-       enum vchiq_status status;
+       enum vchiq_status status = VCHIQ_SUCCESS;
        struct vchiq_state *state = instance->state;
+       struct bulk_waiter_node *waiter, *next;
 
        if (mutex_lock_killable(&state->mutex))
                return VCHIQ_RETRY;
 
        /* Remove all services */
-       status = vchiq_shutdown_internal(state, instance);
+       vchiq_shutdown_internal(state, instance);
 
        mutex_unlock(&state->mutex);
 
        vchiq_log_trace(vchiq_core_log_level,
                "%s(%p): returning %d", __func__, instance, status);
 
-       if (status == VCHIQ_SUCCESS) {
-               struct bulk_waiter_node *waiter, *next;
-
-               list_for_each_entry_safe(waiter, next,
-                                        &instance->bulk_waiter_list, list) {
-                       list_del(&waiter->list);
-                       vchiq_log_info(vchiq_arm_log_level,
-                                       "bulk_waiter - cleaned up %pK for pid %d",
-                                       waiter, waiter->pid);
-                       kfree(waiter);
-               }
-               kfree(instance);
+       list_for_each_entry_safe(waiter, next,
+                                &instance->bulk_waiter_list, list) {
+               list_del(&waiter->list);
+               vchiq_log_info(vchiq_arm_log_level,
+                               "bulk_waiter - cleaned up %pK for pid %d",
+                               waiter, waiter->pid);
+               kfree(waiter);
        }
+       kfree(instance);
 
        return status;
 }
index 11747150b442b38f63ea9c31a72f8971188119d6..0ec1c11c690c2bbe22d8e44a3188460f99678c8d 100644 (file)
@@ -2922,7 +2922,7 @@ vchiq_connect_internal(struct vchiq_state *state, struct vchiq_instance *instanc
        return VCHIQ_SUCCESS;
 }
 
-enum vchiq_status
+void
 vchiq_shutdown_internal(struct vchiq_state *state, struct vchiq_instance *instance)
 {
        struct vchiq_service *service;
@@ -2935,8 +2935,6 @@ vchiq_shutdown_internal(struct vchiq_state *state, struct vchiq_instance *instan
                (void)vchiq_remove_service(service->handle);
                unlock_service(service);
        }
-
-       return VCHIQ_SUCCESS;
 }
 
 enum vchiq_status
index 89f898ce62a1b71be50710a7a82ebbcc1f97988e..5264677bedfafc76f9bd91120353a377a2b9381b 100644 (file)
@@ -563,7 +563,7 @@ vchiq_terminate_service_internal(struct vchiq_service *service);
 extern void
 vchiq_free_service_internal(struct vchiq_service *service);
 
-extern enum vchiq_status
+extern void
 vchiq_shutdown_internal(struct vchiq_state *state, struct vchiq_instance *instance);
 
 extern void