[PATCH 0/6] staging: vc04_services: Clarify bulk 'userdata' usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The bulk 'userdata' pointer is categorically abused through the
vc04_services interface. This series attempts to fix it and clarify
what it is and its usage.

Patch 1/6 simply renames a member for dma_addr handle for better
readability.

Patch 2/6 dissociates 'userdata' being used as bulk_waiter pointer
in bulking mode.

Patch 3/6 renames vchiq_bulk 'userdata' to 'cb_data' - which is what it
essentially is - data pointer to callback in VCHIQ_BULK_CALLBACK_MODE

Patch 4/6 similar to 3/6 for completion_data struct.

Patch 5/6 and 6/6 helps track the data pointer when initiated from
user interface.

Umang Jain (6):
  staging: vchiq_arm: Rename a struct vchiq_bulk member
  staging: vchiq_core: Bulk waiter should not piggy back on bulk
    userdata
  staging: vchiq_core: Rename struct vchiq_bulk 'userdata'
  staging: vchiq: Rename vchiq_completion_data 'bulk_userdata'
  staging: vchiq_core: Pass vchiq_bulk pointer to
    make_service_callback()
  staging: vchiq_arm: Track bulk user data pointer separately

 .../bcm2835-audio/bcm2835-vchiq.c             |  3 +-
 .../include/linux/raspberrypi/vchiq.h         |  7 +--
 drivers/staging/vc04_services/interface/TODO  |  4 --
 .../interface/vchiq_arm/vchiq_arm.c           | 39 ++++++++-------
 .../interface/vchiq_arm/vchiq_arm.h           |  3 +-
 .../interface/vchiq_arm/vchiq_core.c          | 48 ++++++++++++-------
 .../interface/vchiq_arm/vchiq_core.h          |  6 ++-
 .../interface/vchiq_arm/vchiq_dev.c           | 16 +++----
 .../interface/vchiq_arm/vchiq_ioctl.h         |  2 +-
 .../vc04_services/vchiq-mmal/mmal-vchiq.c     |  7 +--
 10 files changed, 74 insertions(+), 61 deletions(-)

-- 
2.45.2





[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux