staging: vchiq_core: drop vchiq_status from vchiq_set_service_option
authorStefan Wahren <stefan.wahren@i2se.com>
Sun, 25 Apr 2021 10:51:01 +0000 (12:51 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 10 May 2021 09:19:28 +0000 (11:19 +0200)
Replace the custom set of return values with proper Linux error codes for
vchiq_set_service_option(). Now we can use the result directly as return
value for vchiq_ioctl().

Reviewed-by: Nicolas Saenz Julienne <nsaenz@kernel.org>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1619347863-16080-10-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 b1c58b54452bb429c233070c23671a9501a9e104..8f67b15d81becfc090cef3f6b96212814551fb91 100644 (file)
@@ -1517,8 +1517,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                        break;
                }
 
-               status = vchiq_set_service_option(
-                               args.handle, args.option, args.value);
+               ret = vchiq_set_service_option(args.handle, args.option,
+                                              args.value);
        } break;
 
        case VCHIQ_IOC_LIB_VERSION: {
index 9f9677a229e5e772ef583836b4b4dabb57e36f9f..e150feb8ff86a4874cfd8f987360aa49498e5d34 100644 (file)
@@ -3371,21 +3371,21 @@ void vchiq_get_config(struct vchiq_config *config)
        config->version_min            = VCHIQ_VERSION_MIN;
 }
 
-enum vchiq_status
+int
 vchiq_set_service_option(unsigned int handle,
        enum vchiq_service_option option, int value)
 {
        struct vchiq_service *service = find_service_by_handle(handle);
-       enum vchiq_status status = VCHIQ_ERROR;
        struct vchiq_service_quota *quota;
+       int ret = -EINVAL;
 
        if (!service)
-               return VCHIQ_ERROR;
+               return -EINVAL;
 
        switch (option) {
        case VCHIQ_SERVICE_OPTION_AUTOCLOSE:
                service->auto_close = value;
-               status = VCHIQ_SUCCESS;
+               ret = 0;
                break;
 
        case VCHIQ_SERVICE_OPTION_SLOT_QUOTA:
@@ -3402,7 +3402,7 @@ vchiq_set_service_option(unsigned int handle,
                                 * dropped below its quota
                                 */
                                complete(&quota->quota_event);
-                       status = VCHIQ_SUCCESS;
+                       ret = 0;
                }
                break;
 
@@ -3420,7 +3420,7 @@ vchiq_set_service_option(unsigned int handle,
                                 * dropped below its quota
                                 */
                                complete(&quota->quota_event);
-                       status = VCHIQ_SUCCESS;
+                       ret = 0;
                }
                break;
 
@@ -3428,13 +3428,13 @@ vchiq_set_service_option(unsigned int handle,
                if ((service->srvstate == VCHIQ_SRVSTATE_HIDDEN) ||
                    (service->srvstate == VCHIQ_SRVSTATE_LISTENING)) {
                        service->sync = value;
-                       status = VCHIQ_SUCCESS;
+                       ret = 0;
                }
                break;
 
        case VCHIQ_SERVICE_OPTION_TRACE:
                service->trace = value;
-               status = VCHIQ_SUCCESS;
+               ret = 0;
                break;
 
        default:
@@ -3442,7 +3442,7 @@ vchiq_set_service_option(unsigned int handle,
        }
        unlock_service(service);
 
-       return status;
+       return ret;
 }
 
 static int
index aad1c5cb9683b0697cd7e18780defde24bf4c960..bd1f5906846ad46e73f7bd6436386ccde929f3d6 100644 (file)
@@ -712,7 +712,7 @@ extern int vchiq_get_client_id(unsigned int service);
 
 extern void vchiq_get_config(struct vchiq_config *config);
 
-extern enum vchiq_status
+extern int
 vchiq_set_service_option(unsigned int service, enum vchiq_service_option option,
                         int value);