Commit a2161d1d authored by Stefan Wahren's avatar Stefan Wahren Committed by Greg Kroah-Hartman

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