+++ /dev/null
-From 7ba7db27d18d141973ad7eaf1f339218d81a31a4 Mon Sep 17 00:00:00 2001
-From: Stefan Wahren <stefan.wahren@i2se.com>
-Date: Sat, 13 Oct 2018 20:51:23 +0200
-Subject: [PATCH] staging: vchiq_arm: Fix platform device
- unregistration
-
-In error case platform_device_register_data would return an ERR_PTR
-instead of NULL. So we better check this before unregistration.
-
-Fixes: 37b7b3087a2f ("staging/vc04_services: Register a platform device for the camera driver.")
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
----
- drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
-@@ -3258,7 +3258,8 @@ failed_platform_init:
-
- static int vchiq_remove(struct platform_device *pdev)
- {
-- platform_device_unregister(bcm2835_camera);
-+ if (!IS_ERR(bcm2835_camera))
-+ platform_device_unregister(bcm2835_camera);
- vchiq_debugfs_deinit();
- device_destroy(vchiq_class, vchiq_devid);
- cdev_del(&vchiq_cdev);
bcm2835_camera = vchiq_register_child(pdev, "bcm2835-camera");
bcm2835_audio = vchiq_register_child(pdev, "bcm2835_audio");
-@@ -3266,6 +3268,7 @@ static int vchiq_remove(struct platform_
+@@ -3265,6 +3267,7 @@ failed_platform_init:
+ static int vchiq_remove(struct platform_device *pdev)
{
- if (!IS_ERR(bcm2835_camera))
- platform_device_unregister(bcm2835_camera);
+ platform_device_unregister(bcm2835_camera);
+ platform_device_unregister(vcsm_cma);
vchiq_debugfs_deinit();
device_destroy(vchiq_class, vchiq_devid);
bcm2835_camera = vchiq_register_child(pdev, "bcm2835-camera");
bcm2835_audio = vchiq_register_child(pdev, "bcm2835_audio");
-@@ -3268,6 +3270,7 @@ static int vchiq_remove(struct platform_
+@@ -3267,6 +3269,7 @@ failed_platform_init:
+ static int vchiq_remove(struct platform_device *pdev)
{
- if (!IS_ERR(bcm2835_camera))
- platform_device_unregister(bcm2835_camera);
+ platform_device_unregister(bcm2835_camera);
+ platform_device_unregister(bcm2835_codec);
platform_device_unregister(vcsm_cma);
vchiq_debugfs_deinit();
+++ /dev/null
-From 91da858c9327352c17a1f20ec10e78113ed45c82 Mon Sep 17 00:00:00 2001
-From: Dave Stevenson <dave.stevenson@raspberrypi.com>
-Date: Wed, 6 Nov 2019 13:58:18 +0000
-Subject: [PATCH] staging: vchiq_arm: Unify the unload handling of
- platform devs
-
-A helper function vchiq_register_child was added to deal with
-adding the platform devices. This returns NULL on failure, and
-that is assigned to the struct platform_device. There is
-therefore no way for remove to encounter an error pointer, so
-checking for IS_ERR() is redundant.
-
-Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
----
- drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
---- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
-+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
-@@ -3268,8 +3268,7 @@ failed_platform_init:
-
- static int vchiq_remove(struct platform_device *pdev)
- {
-- if (!IS_ERR(bcm2835_camera))
-- platform_device_unregister(bcm2835_camera);
-+ platform_device_unregister(bcm2835_camera);
- platform_device_unregister(bcm2835_codec);
- platform_device_unregister(vcsm_cma);
- vchiq_debugfs_deinit();