diff options
author | 2020-06-29 17:09:17 +0200 | |
---|---|---|
committer | 2020-07-01 15:47:04 +0200 | |
commit | 0abd7412e97008689a8b40e418ad37ab07feee6d (patch) | |
tree | 4b256a1c72a79c88f0ffc15bbbb7af0010105e96 /drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c | |
parent | staging: vchi: Get rid of flags argument in vchi_msg_hold() (diff) | |
download | linux-stable-0abd7412e97008689a8b40e418ad37ab07feee6d.tar.xz linux-stable-0abd7412e97008689a8b40e418ad37ab07feee6d.zip |
staging: vchi: Use enum vchiq_bulk_mode instead of vchi's transmission flags
vchi has a set of transfer flags which almost map 1:1 to vchiq's own
transfer modes. For the sake of simplicity let's use the later and
delete vchi's.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Link: https://lore.kernel.org/r/20200629150945.10720-20-nsaenzjulienne@suse.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c')
-rw-r--r-- | drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c | 44 |
1 files changed, 3 insertions, 41 deletions
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c index 6c48d9ef45cb..c6b14d31492b 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c @@ -3,6 +3,7 @@ #include <linux/module.h> #include <linux/types.h> +#include "vchiq_if.h" #include "../vchi/vchi.h" #include "vchiq.h" #include "vchiq_core.h" @@ -57,30 +58,11 @@ EXPORT_SYMBOL(vchi_queue_kernel_message); * ***********************************************************/ int32_t vchi_bulk_queue_receive(struct vchi_service *service, void *data_dst, - uint32_t data_size, enum vchi_flags flags, + uint32_t data_size, enum vchiq_bulk_mode mode, void *bulk_handle) { - enum vchiq_bulk_mode mode; enum vchiq_status status; - switch ((int)flags) { - case VCHI_FLAGS_CALLBACK_WHEN_OP_COMPLETE - | VCHI_FLAGS_BLOCK_UNTIL_QUEUED: - WARN_ON(!service->callback); - mode = VCHIQ_BULK_MODE_CALLBACK; - break; - case VCHI_FLAGS_BLOCK_UNTIL_OP_COMPLETE: - mode = VCHIQ_BULK_MODE_BLOCKING; - break; - case VCHI_FLAGS_BLOCK_UNTIL_QUEUED: - case VCHI_FLAGS_NONE: - mode = VCHIQ_BULK_MODE_NOCALLBACK; - break; - default: - WARN(1, "unsupported message\n"); - return VCHIQ_ERROR; - } - while (1) { status = vchiq_bulk_receive(service->handle, data_dst, data_size, bulk_handle, mode); @@ -116,31 +98,11 @@ EXPORT_SYMBOL(vchi_bulk_queue_receive); int32_t vchi_bulk_queue_transmit(struct vchi_service *service, const void *data_src, uint32_t data_size, - enum vchi_flags flags, + enum vchiq_bulk_mode mode, void *bulk_handle) { - enum vchiq_bulk_mode mode; enum vchiq_status status; - switch ((int)flags) { - case VCHI_FLAGS_CALLBACK_WHEN_OP_COMPLETE - | VCHI_FLAGS_BLOCK_UNTIL_QUEUED: - WARN_ON(!service->callback); - mode = VCHIQ_BULK_MODE_CALLBACK; - break; - case VCHI_FLAGS_BLOCK_UNTIL_DATA_READ: - case VCHI_FLAGS_BLOCK_UNTIL_OP_COMPLETE: - mode = VCHIQ_BULK_MODE_BLOCKING; - break; - case VCHI_FLAGS_BLOCK_UNTIL_QUEUED: - case VCHI_FLAGS_NONE: - mode = VCHIQ_BULK_MODE_NOCALLBACK; - break; - default: - WARN(1, "unsupported message\n"); - return VCHIQ_ERROR; - } - while (1) { status = vchiq_bulk_transmit(service->handle, data_src, data_size, bulk_handle, mode); |