[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230923143200.268063-1-umang.jain@ideasonboard.com>
Date: Sat, 23 Sep 2023 20:01:54 +0530
From: Umang Jain <umang.jain@...asonboard.com>
To: linux-staging@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org,
linux-rpi-kernel@...ts.infradead.org, linux-media@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Stefan Wahren <stefan.wahren@...e.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Florian Fainelli <f.fainelli@...il.com>,
Adrien Thierry <athierry@...hat.com>,
Dan Carpenter <error27@...il.com>,
Dave Stevenson <dave.stevenson@...pberrypi.com>,
Kieran Bingham <kieran.bingham@...asonboard.com>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Umang Jain <umang.jain@...asonboard.com>
Subject: [PATCH v12 0/6] staging: vc04_services: vchiq: Register devices with a custom bus_type
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.
Tested on RPi-3-b with media tree master branch.
Patch 1/6 and 2/6 adds explicit DMA mask to bcm2835-camera
and bcm2835-audio respectively to avoid regression when moving
to away from platform device/driver model.
Patch 3/6 and 4/6 adds a new bus_type and registers them to vchiq
interface
Patch 5/6 and 6/6 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 v12:
- Add initial two patches to set DMA Mask explicitly to avoid regression
- fixup vchiq_device.c bad squash in v11
- Rename vchiq_device.[ch] to vchiq_bus.[ch]
- Fix memory leak if device cannot be registered
- Make vchiq_bus_type_match() use bool values
- vchiq_register_child() helper removal folded in 6/6
instead of creating extra patch.
Changes in v11:
- Move setting of DMA mask in child devices (3/5 and 4/5)
- Fixes "DMA mask not set issue" reported in v10.
Changes in v10:
- fix dma_attr WARN issue with bcm2835-audio module loading
- Unregister bus on parent platform device fails to register
- Reword commit to highlight bcm2835_audio to bcm2835-audio name change
Changes in v9:
- Fix module autoloading
- 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 (6):
staging: vc04_services: bcm2835-camera: Explicitly set DMA mask
staging: vc04_services: bcm2835-audio: Explicitly set DMA mask
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
drivers/staging/vc04_services/Makefile | 1 +
.../vc04_services/bcm2835-audio/bcm2835.c | 26 +++--
.../bcm2835-camera/bcm2835-camera.c | 23 ++--
.../interface/vchiq_arm/vchiq_arm.c | 52 ++++-----
.../interface/vchiq_arm/vchiq_bus.c | 100 ++++++++++++++++++
.../interface/vchiq_arm/vchiq_bus.h | 54 ++++++++++
6 files changed, 209 insertions(+), 47 deletions(-)
create mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.c
create mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_bus.h
base-commit: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d
--
2.40.1
Powered by blists - more mailing lists