[PATCH v9 0/5] staging: vc04_services: vchiq: Register devices with a custom bus_type
Umang Jain
umang.jain at ideasonboard.com
Thu Jul 20 05:08:26 PDT 2023
Hi Stefan ,
On 7/19/23 11:05 PM, Stefan Wahren wrote:
> Hi Umang,
>
> Am 19.07.23 um 18:54 schrieb Umang Jain:
>> 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
>
> is it possible that after your patch series no DMA mask like
> DMA_BIT_MASK(32) is provided?
I am trying to set DMA_BIT_MASK(32) via dma_set_mask_and_coherent() but
it fails with -EIO
>
>>
>> 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