[14/14] staging: vc04_services: vchiq: Load bcm2835_isp driver from vchiq

Message ID 20221121214722.22563-15-umang.jain@ideasonboard.com
State New
Headers
Series staging: vc04_services: bcm2835-isp support |

Commit Message

Umang Jain Nov. 21, 2022, 9:47 p.m. UTC
  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

Laurent Pinchart Nov. 21, 2022, 11:10 p.m. UTC | #1
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);
  

Patch

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);