[PATCH v9 0/5] staging: vc04_services: vchiq: Register devices with a custom bus_type

Umang Jain umang.jain at ideasonboard.com
Wed Jul 19 09:54:28 PDT 2023


Hi,

One comment,

On 7/19/23 10:14 PM, Umang Jain wrote:
> The patch series added a new bus type vchiq_bus_type and registers
> child devices in order to move them away from using platform
> device/driver.
>
> Patch 1/5 and 2/5 adds a new bus_type and registers them to vchiq
> interface
>
> Patch 3/5 and 4/5 moves the bcm2835-camera and bcm2835-audio
> to the new bus respectively
>
> Patch 5/5 removes a platform registeration helper which is no
> longer required.
>
> Changes in v9:
> - Fix module autoloading

While the autoloading of bcm2835-audio, bcm2835-camera is fixed as part 
of this series, there is one WARN coming in when bcm2835-audio is loaded 
regarding dma_alloc_attr

dmesg output: https://paste.debian.net/plain/1286359

I am investigating further...
> - Implement bus_type's probe() callback to load drivers
> - Implement bus_type's uevent() to make sure appropriate drivers are
>    loaded when device are registed from vchiq.
>
> Changes in v8:
> - Drop dual licensing. Instead use GPL-2.0 only for patch 1/5
>
> Changes in v7:
> (5 out of 6 patches from v6 merged)
> - Split the main patch (6/6) as requested.
> - Use struct vchiq_device * instead of struct device * in
>    all bus functions.
> - Drop additional name attribute displayed in sysfs (redundant info)
> - Document vchiq_interface doesn't enumerate device discovery
> - remove EXPORT_SYMBOL_GPL(vchiq_bus_type)
>
> Changes in v6:
> - Split struct device and struct driver wrappers in vchiq_device.[ch]
> - Move vchiq_bus_type definition to vchiq_device.[ch] as well
> - return error on bus_register() failure
> - drop dma_set_mask_and_coherent
> - trivial variable name change
>
> Changes in v5:
> - Fixup missing "staging: " in commits' subject line
> - No code changes from v4
>
> Changes in v4:
> - Introduce patches to drop include directives from Makefile
>
> Changes in v3:
> - Rework entirely to replace platform devices/driver model
>
> -v2:
> https://lore.kernel.org/all/20221222191500.515795-1-umang.jain@ideasonboard.com/
>
> -v1:
> https://lore.kernel.org/all/20221220084404.19280-1-umang.jain@ideasonboard.com/
>
> Umang Jain (5):
>    staging: vc04_services: vchiq_arm: Add new bus type and device type
>    staging: vc04_services: vchiq_arm: Register vchiq_bus_type
>    staging: bcm2835-camera: Register bcm2835-camera with vchiq_bus_type
>    staging: bcm2835-audio: Register bcm2835-audio with vchiq_bus_type
>    staging: vc04_services: vchiq_arm: Remove vchiq_register_child()
>
>   drivers/staging/vc04_services/Makefile        |   1 +
>   .../vc04_services/bcm2835-audio/bcm2835.c     |  20 ++--
>   .../bcm2835-camera/bcm2835-camera.c           |  17 +--
>   .../interface/vchiq_arm/vchiq_arm.c           |  48 ++++-----
>   .../interface/vchiq_arm/vchiq_device.c        | 102 ++++++++++++++++++
>   .../interface/vchiq_arm/vchiq_device.h        |  54 ++++++++++
>   6 files changed, 196 insertions(+), 46 deletions(-)
>   create mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_device.c
>   create mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_device.h
>




More information about the linux-arm-kernel mailing list