staging: vchi: Rework vchi_msg_hold() to match vchiq_msg_hold()
authorNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Mon, 29 Jun 2020 15:09:31 +0000 (17:09 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Jul 2020 13:47:06 +0000 (15:47 +0200)
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@suse.de>
Link: https://lore.kernel.org/r/20200629150945.10720-34-nsaenzjulienne@suse.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/interface/vchi/vchi.h
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_shim.c

index 72771fd..59559d4 100644 (file)
@@ -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
index 6eb9a98..fc12b76 100644 (file)
@@ -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);