[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200623164235.29566-37-nsaenzjulienne@suse.de>
Date: Tue, 23 Jun 2020 18:42:22 +0200
From: Nicolas Saenz Julienne <nsaenzjulienne@...e.de>
To: gregkh@...uxfoundation.org
Cc: kernel-list@...pberrypi.com, laurent.pinchart@...asonboard.com,
linux-rpi-kernel@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
devel@...verdev.osuosl.org,
Nicolas Saenz Julienne <nsaenzjulienne@...e.de>
Subject: [PATCH 36/50] staging: vchi: Rework vchi_msg_hold() to match vchiq_msg_hold()
The services have access to struct vchiq_header's internals, so we can
let them get the data pointer. This pretty much makes both functions
exactly the same, which will allow us to make a switch to
vchiq_msg_hold() further down the road.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@...e.de>
---
.../staging/vc04_services/interface/vchi/vchi.h | 5 +----
.../interface/vchiq_arm/vchiq_shim.c | 15 ++-------------
2 files changed, 3 insertions(+), 17 deletions(-)
diff --git a/drivers/staging/vc04_services/interface/vchi/vchi.h b/drivers/staging/vc04_services/interface/vchi/vchi.h
index 72771fdee9d6..59559d4cd5f1 100644
--- a/drivers/staging/vc04_services/interface/vchi/vchi.h
+++ b/drivers/staging/vc04_services/interface/vchi/vchi.h
@@ -54,10 +54,7 @@ extern int vchi_queue_kernel_message(unsigned handle, void *data,
// Routine to look at a message in place.
// The message is dequeued, so the caller is left holding it; the descriptor is
// filled in and must be released when the user has finished with the message.
-extern int32_t vchi_msg_hold(unsigned handle,
- void **data, // } may be NULL, as info can be
- uint32_t *msg_size, // } obtained from HELD_MSG_T
- struct vchiq_header **message);
+struct vchiq_header *vchi_msg_hold(unsigned handle);
/*******************************************************************************
* Global service support API - operations on held messages
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 6eb9a9878641..fc12b76617d1 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c
@@ -154,20 +154,9 @@ EXPORT_SYMBOL(vchi_held_msg_release);
* Returns: int32_t - success == 0
*
***********************************************************/
-int32_t vchi_msg_hold(unsigned handle, void **data, uint32_t *msg_size,
- struct vchiq_header **message)
+struct vchiq_header *vchi_msg_hold(unsigned handle)
{
- struct vchiq_header *header;
-
- header = vchiq_msg_hold(handle);
- if (!header)
- return -ENOENT;
-
- *data = header->data;
- *msg_size = header->size;
- *message = header;
-
- return 0;
+ return vchiq_msg_hold(handle);
}
EXPORT_SYMBOL(vchi_msg_hold);
--
2.27.0
Powered by blists - more mailing lists