]> www.infradead.org Git - linux.git/commitdiff
staging: vchiq_core: Simplify bulk data preparatory functions
authorUmang Jain <umang.jain@ideasonboard.com>
Thu, 17 Oct 2024 13:36:25 +0000 (19:06 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 19 Oct 2024 08:04:06 +0000 (10:04 +0200)
Two functions create_pagelist() and vchiq_prepare_bulk_data()
open code bulk data arguments ('size' and 'dir') in their function
signatures which can easily be obtained by struct vchiq_bulk pointer.

Retrieve the arguments from vchiq_bulk pointer instead and reduce
the number of arguments passed in create_pagelist() and
vchiq_bulk_prepare_data().

No functional changes intended in this patch.

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Link: https://lore.kernel.org/r/20241017133629.216672-3-umang.jain@ideasonboard.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c

index 7c6f09a9d917aa957f1d8f1db37c6c2476676654..62356a165696655b499ab98351ec109874c7ba16 100644 (file)
@@ -1482,8 +1482,7 @@ is_adjacent_block(u32 *addrs, dma_addr_t addr, unsigned int k)
  * cached area.
  */
 static struct vchiq_pagelist_info *
-create_pagelist(struct vchiq_instance *instance, struct vchiq_bulk *bulk,
-               size_t count, unsigned short type)
+create_pagelist(struct vchiq_instance *instance, struct vchiq_bulk *bulk)
 {
        struct vchiq_drv_mgmt *drv_mgmt;
        struct pagelist *pagelist;
@@ -1497,6 +1496,9 @@ create_pagelist(struct vchiq_instance *instance, struct vchiq_bulk *bulk,
        int dma_buffers;
        unsigned int cache_line_size;
        dma_addr_t dma_addr;
+       size_t count = bulk->size;
+       unsigned short type = (bulk->dir == VCHIQ_BULK_RECEIVE)
+                             ? PAGELIST_READ : PAGELIST_WRITE;
 
        if (count >= INT_MAX - PAGE_SIZE)
                return NULL;
@@ -1740,15 +1742,11 @@ free_pagelist(struct vchiq_instance *instance, struct vchiq_pagelist_info *pagel
 }
 
 static int
-vchiq_prepare_bulk_data(struct vchiq_instance *instance, struct vchiq_bulk *bulk,
-                       int size, int dir)
+vchiq_prepare_bulk_data(struct vchiq_instance *instance, struct vchiq_bulk *bulk)
 {
        struct vchiq_pagelist_info *pagelistinfo;
 
-       pagelistinfo = create_pagelist(instance, bulk, size,
-                                      (dir == VCHIQ_BULK_RECEIVE)
-                                      ? PAGELIST_READ
-                                      : PAGELIST_WRITE);
+       pagelistinfo = create_pagelist(instance, bulk);
 
        if (!pagelistinfo)
                return -ENOMEM;
@@ -3074,7 +3072,7 @@ vchiq_bulk_xfer_queue_msg_killable(struct vchiq_service *service,
        bulk->offset = offset;
        bulk->uoffset = uoffset;
 
-       if (vchiq_prepare_bulk_data(service->instance, bulk, size, dir))
+       if (vchiq_prepare_bulk_data(service->instance, bulk))
                goto unlock_error_exit;
 
        /*