staging: vchiq_core: drop vchiq_status from vchiq_set_service_option

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>
This commit is contained in:
Stefan Wahren 2021-04-25 12:51:01 +02:00 committed by Greg Kroah-Hartman
parent a9fbd828be
commit a2161d1d5e
3 changed files with 12 additions and 12 deletions

View 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: {

View 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

View 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);