[14/14] staging: vc04_services: vchiq: Load bcm2835_isp driver from vchiq
Commit Message
From: Naushir Patuck <naush@raspberrypi.com>
bcmn2835_isp is a platform driver dependent on vchiq,
therefore add the load/unload functions for it to vchiq.
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
---
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 3 +++
1 file changed, 3 insertions(+)
Comments
Hi Umang and Naush,
Thank you for the patch.
On Tue, Nov 22, 2022 at 03:17:22AM +0530, Umang Jain wrote:
> From: Naushir Patuck <naush@raspberrypi.com>
>
> bcmn2835_isp is a platform driver dependent on vchiq,
> therefore add the load/unload functions for it to vchiq.
The commit message mentiones a platform driver, but the code handles a
platform device.
The rest looks fine to me.
> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
> ---
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> index 642fdbc0d654..2d070f80a170 100644
> --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> @@ -67,6 +67,7 @@ struct vchiq_state g_state;
>
> static struct platform_device *bcm2835_camera;
> static struct platform_device *bcm2835_audio;
> +static struct platform_device *bcm2835_isp;
> static struct platform_device *vcsm_cma;
>
> struct vchiq_drvdata {
> @@ -1836,6 +1837,7 @@ static int vchiq_probe(struct platform_device *pdev)
> vcsm_cma = vchiq_register_child(pdev, "vcsm-cma");
> bcm2835_camera = vchiq_register_child(pdev, "bcm2835-camera");
> bcm2835_audio = vchiq_register_child(pdev, "bcm2835_audio");
> + bcm2835_isp = vchiq_register_child(pdev, "bcm2835-isp");
>
> return 0;
>
> @@ -1847,6 +1849,7 @@ static int vchiq_probe(struct platform_device *pdev)
>
> static int vchiq_remove(struct platform_device *pdev)
> {
> + platform_device_unregister(bcm2835_isp);
> platform_device_unregister(bcm2835_audio);
> platform_device_unregister(bcm2835_camera);
> platform_device_unregister(vcsm_cma);
@@ -67,6 +67,7 @@ struct vchiq_state g_state;
static struct platform_device *bcm2835_camera;
static struct platform_device *bcm2835_audio;
+static struct platform_device *bcm2835_isp;
static struct platform_device *vcsm_cma;
struct vchiq_drvdata {
@@ -1836,6 +1837,7 @@ static int vchiq_probe(struct platform_device *pdev)
vcsm_cma = vchiq_register_child(pdev, "vcsm-cma");
bcm2835_camera = vchiq_register_child(pdev, "bcm2835-camera");
bcm2835_audio = vchiq_register_child(pdev, "bcm2835_audio");
+ bcm2835_isp = vchiq_register_child(pdev, "bcm2835-isp");
return 0;
@@ -1847,6 +1849,7 @@ static int vchiq_probe(struct platform_device *pdev)
static int vchiq_remove(struct platform_device *pdev)
{
+ platform_device_unregister(bcm2835_isp);
platform_device_unregister(bcm2835_audio);
platform_device_unregister(bcm2835_camera);
platform_device_unregister(vcsm_cma);