* [PATCH 06/24] staging: media: atmel-sama5d2-isc: Convert to platform remove callback returning void
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
@ 2023-04-03 15:39 ` Uwe Kleine-König
2023-04-03 16:24 ` Nicolas Ferre
2023-04-03 15:39 ` [PATCH 07/24] staging: media: atmel-sama7g5-isc: " Uwe Kleine-König
` (9 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Uwe Kleine-König @ 2023-04-03 15:39 UTC (permalink / raw)
To: Eugen Hristev, Mauro Carvalho Chehab, Greg Kroah-Hartman,
Nicolas Ferre, Alexandre Belloni, Claudiu Beznea
Cc: linux-media, linux-staging, linux-arm-kernel, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c b/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c
index ba0614f981a2..cc744cea1d0e 100644
--- a/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c
+++ b/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c
@@ -580,7 +580,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
return ret;
}
-static int atmel_isc_remove(struct platform_device *pdev)
+static void atmel_isc_remove(struct platform_device *pdev)
{
struct isc_device *isc = platform_get_drvdata(pdev);
@@ -594,8 +594,6 @@ static int atmel_isc_remove(struct platform_device *pdev)
clk_disable_unprepare(isc->hclock);
atmel_isc_clk_cleanup(isc);
-
- return 0;
}
static int __maybe_unused isc_runtime_suspend(struct device *dev)
@@ -638,7 +636,7 @@ MODULE_DEVICE_TABLE(of, atmel_isc_of_match);
static struct platform_driver atmel_isc_driver = {
.probe = atmel_isc_probe,
- .remove = atmel_isc_remove,
+ .remove_new = atmel_isc_remove,
.driver = {
.name = "atmel-sama5d2-isc",
.pm = &atmel_isc_dev_pm_ops,
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 07/24] staging: media: atmel-sama7g5-isc: Convert to platform remove callback returning void
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
2023-04-03 15:39 ` [PATCH 06/24] staging: media: atmel-sama5d2-isc: Convert to platform remove callback returning void Uwe Kleine-König
@ 2023-04-03 15:39 ` Uwe Kleine-König
2023-04-03 16:23 ` Nicolas Ferre
2023-04-03 15:39 ` [PATCH 08/24] staging: media: imx-media-csi: " Uwe Kleine-König
` (8 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Uwe Kleine-König @ 2023-04-03 15:39 UTC (permalink / raw)
To: Eugen Hristev, Mauro Carvalho Chehab, Greg Kroah-Hartman,
Nicolas Ferre, Alexandre Belloni, Claudiu Beznea
Cc: linux-media, linux-staging, linux-arm-kernel, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c b/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c
index 01ababdfcbd9..315bfc4ac4ff 100644
--- a/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c
+++ b/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c
@@ -549,7 +549,7 @@ static int microchip_xisc_probe(struct platform_device *pdev)
return ret;
}
-static int microchip_xisc_remove(struct platform_device *pdev)
+static void microchip_xisc_remove(struct platform_device *pdev)
{
struct isc_device *isc = platform_get_drvdata(pdev);
@@ -562,8 +562,6 @@ static int microchip_xisc_remove(struct platform_device *pdev)
clk_disable_unprepare(isc->hclock);
atmel_isc_clk_cleanup(isc);
-
- return 0;
}
static int __maybe_unused xisc_runtime_suspend(struct device *dev)
@@ -601,7 +599,7 @@ MODULE_DEVICE_TABLE(of, microchip_xisc_of_match);
static struct platform_driver microchip_xisc_driver = {
.probe = microchip_xisc_probe,
- .remove = microchip_xisc_remove,
+ .remove_new = microchip_xisc_remove,
.driver = {
.name = "microchip-sama7g5-xisc",
.pm = µchip_xisc_dev_pm_ops,
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 08/24] staging: media: imx-media-csi: Convert to platform remove callback returning void
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
2023-04-03 15:39 ` [PATCH 06/24] staging: media: atmel-sama5d2-isc: Convert to platform remove callback returning void Uwe Kleine-König
2023-04-03 15:39 ` [PATCH 07/24] staging: media: atmel-sama7g5-isc: " Uwe Kleine-König
@ 2023-04-03 15:39 ` Uwe Kleine-König
2023-04-04 8:38 ` Philipp Zabel
2023-04-03 15:39 ` [PATCH 09/24] staging: media: imx-media-dev: " Uwe Kleine-König
` (7 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Uwe Kleine-König @ 2023-04-03 15:39 UTC (permalink / raw)
To: Steve Longerbeam, Philipp Zabel, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Shawn Guo, Sascha Hauer
Cc: Fabio Estevam, NXP Linux Team, linux-media, linux-staging,
linux-arm-kernel, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/staging/media/imx/imx-media-csi.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/media/imx/imx-media-csi.c b/drivers/staging/media/imx/imx-media-csi.c
index 44d87fe30d52..097171bb930d 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -2041,7 +2041,7 @@ static int imx_csi_probe(struct platform_device *pdev)
return ret;
}
-static int imx_csi_remove(struct platform_device *pdev)
+static void imx_csi_remove(struct platform_device *pdev)
{
struct v4l2_subdev *sd = platform_get_drvdata(pdev);
struct csi_priv *priv = sd_to_dev(sd);
@@ -2052,8 +2052,6 @@ static int imx_csi_remove(struct platform_device *pdev)
v4l2_async_nf_cleanup(&priv->notifier);
v4l2_async_unregister_subdev(sd);
media_entity_cleanup(&sd->entity);
-
- return 0;
}
static const struct platform_device_id imx_csi_ids[] = {
@@ -2064,7 +2062,7 @@ MODULE_DEVICE_TABLE(platform, imx_csi_ids);
static struct platform_driver imx_csi_driver = {
.probe = imx_csi_probe,
- .remove = imx_csi_remove,
+ .remove_new = imx_csi_remove,
.id_table = imx_csi_ids,
.driver = {
.name = "imx-ipuv3-csi",
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 09/24] staging: media: imx-media-dev: Convert to platform remove callback returning void
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
` (2 preceding siblings ...)
2023-04-03 15:39 ` [PATCH 08/24] staging: media: imx-media-csi: " Uwe Kleine-König
@ 2023-04-03 15:39 ` Uwe Kleine-König
2023-04-04 8:38 ` Philipp Zabel
2023-04-03 15:40 ` [PATCH 10/24] staging: media: imx6-mipi-csi2: " Uwe Kleine-König
` (6 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Uwe Kleine-König @ 2023-04-03 15:39 UTC (permalink / raw)
To: Steve Longerbeam, Philipp Zabel, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Shawn Guo, Sascha Hauer
Cc: Fabio Estevam, NXP Linux Team, linux-media, linux-staging,
linux-arm-kernel, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/staging/media/imx/imx-media-dev.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/media/imx/imx-media-dev.c b/drivers/staging/media/imx/imx-media-dev.c
index f85462214e22..c80113905069 100644
--- a/drivers/staging/media/imx/imx-media-dev.c
+++ b/drivers/staging/media/imx/imx-media-dev.c
@@ -101,7 +101,7 @@ static int imx_media_probe(struct platform_device *pdev)
return ret;
}
-static int imx_media_remove(struct platform_device *pdev)
+static void imx_media_remove(struct platform_device *pdev)
{
struct imx_media_dev *imxmd =
(struct imx_media_dev *)platform_get_drvdata(pdev);
@@ -119,8 +119,6 @@ static int imx_media_remove(struct platform_device *pdev)
media_device_unregister(&imxmd->md);
v4l2_device_unregister(&imxmd->v4l2_dev);
media_device_cleanup(&imxmd->md);
-
- return 0;
}
static const struct of_device_id imx_media_dt_ids[] = {
@@ -131,7 +129,7 @@ MODULE_DEVICE_TABLE(of, imx_media_dt_ids);
static struct platform_driver imx_media_pdrv = {
.probe = imx_media_probe,
- .remove = imx_media_remove,
+ .remove_new = imx_media_remove,
.driver = {
.name = "imx-media",
.of_match_table = imx_media_dt_ids,
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 10/24] staging: media: imx6-mipi-csi2: Convert to platform remove callback returning void
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
` (3 preceding siblings ...)
2023-04-03 15:39 ` [PATCH 09/24] staging: media: imx-media-dev: " Uwe Kleine-König
@ 2023-04-03 15:40 ` Uwe Kleine-König
2023-04-04 8:38 ` Philipp Zabel
2023-04-03 15:40 ` [PATCH 11/24] staging: media: imx8mq-mipi-csi2: " Uwe Kleine-König
` (5 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Uwe Kleine-König @ 2023-04-03 15:40 UTC (permalink / raw)
To: Steve Longerbeam, Philipp Zabel, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Shawn Guo, Sascha Hauer
Cc: Fabio Estevam, NXP Linux Team, linux-media, linux-staging,
linux-arm-kernel, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/staging/media/imx/imx6-mipi-csi2.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/media/imx/imx6-mipi-csi2.c b/drivers/staging/media/imx/imx6-mipi-csi2.c
index c4cb558a85c6..c07994ea6e96 100644
--- a/drivers/staging/media/imx/imx6-mipi-csi2.c
+++ b/drivers/staging/media/imx/imx6-mipi-csi2.c
@@ -765,7 +765,7 @@ static int csi2_probe(struct platform_device *pdev)
return ret;
}
-static int csi2_remove(struct platform_device *pdev)
+static void csi2_remove(struct platform_device *pdev)
{
struct v4l2_subdev *sd = platform_get_drvdata(pdev);
struct csi2_dev *csi2 = sd_to_dev(sd);
@@ -777,8 +777,6 @@ static int csi2_remove(struct platform_device *pdev)
clk_disable_unprepare(csi2->pllref_clk);
mutex_destroy(&csi2->lock);
media_entity_cleanup(&sd->entity);
-
- return 0;
}
static const struct of_device_id csi2_dt_ids[] = {
@@ -793,7 +791,7 @@ static struct platform_driver csi2_driver = {
.of_match_table = csi2_dt_ids,
},
.probe = csi2_probe,
- .remove = csi2_remove,
+ .remove_new = csi2_remove,
};
module_platform_driver(csi2_driver);
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 11/24] staging: media: imx8mq-mipi-csi2: Convert to platform remove callback returning void
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
` (4 preceding siblings ...)
2023-04-03 15:40 ` [PATCH 10/24] staging: media: imx6-mipi-csi2: " Uwe Kleine-König
@ 2023-04-03 15:40 ` Uwe Kleine-König
2023-04-04 8:38 ` Philipp Zabel
2023-04-03 15:40 ` [PATCH 12/24] staging: media: meson: vdec: " Uwe Kleine-König
` (4 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Uwe Kleine-König @ 2023-04-03 15:40 UTC (permalink / raw)
To: Steve Longerbeam, Philipp Zabel, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Shawn Guo, Sascha Hauer
Cc: Fabio Estevam, NXP Linux Team, linux-media, linux-staging,
linux-arm-kernel, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/staging/media/imx/imx8mq-mipi-csi2.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/media/imx/imx8mq-mipi-csi2.c b/drivers/staging/media/imx/imx8mq-mipi-csi2.c
index 83194328d010..4317f6b71892 100644
--- a/drivers/staging/media/imx/imx8mq-mipi-csi2.c
+++ b/drivers/staging/media/imx/imx8mq-mipi-csi2.c
@@ -961,7 +961,7 @@ static int imx8mq_mipi_csi_probe(struct platform_device *pdev)
return ret;
}
-static int imx8mq_mipi_csi_remove(struct platform_device *pdev)
+static void imx8mq_mipi_csi_remove(struct platform_device *pdev)
{
struct v4l2_subdev *sd = platform_get_drvdata(pdev);
struct csi_state *state = mipi_sd_to_csi2_state(sd);
@@ -976,8 +976,6 @@ static int imx8mq_mipi_csi_remove(struct platform_device *pdev)
mutex_destroy(&state->lock);
pm_runtime_set_suspended(&pdev->dev);
imx8mq_mipi_csi_release_icc(pdev);
-
- return 0;
}
static const struct of_device_id imx8mq_mipi_csi_of_match[] = {
@@ -988,7 +986,7 @@ MODULE_DEVICE_TABLE(of, imx8mq_mipi_csi_of_match);
static struct platform_driver imx8mq_mipi_csi_driver = {
.probe = imx8mq_mipi_csi_probe,
- .remove = imx8mq_mipi_csi_remove,
+ .remove_new = imx8mq_mipi_csi_remove,
.driver = {
.of_match_table = imx8mq_mipi_csi_of_match,
.name = MIPI_CSI2_DRIVER_NAME,
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 12/24] staging: media: meson: vdec: Convert to platform remove callback returning void
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
` (5 preceding siblings ...)
2023-04-03 15:40 ` [PATCH 11/24] staging: media: imx8mq-mipi-csi2: " Uwe Kleine-König
@ 2023-04-03 15:40 ` Uwe Kleine-König
2023-04-03 20:38 ` Martin Blumenstingl
2023-04-03 15:40 ` [PATCH 15/24] staging: media: sunxi: cedrus: " Uwe Kleine-König
` (3 subsequent siblings)
10 siblings, 1 reply; 23+ messages in thread
From: Uwe Kleine-König @ 2023-04-03 15:40 UTC (permalink / raw)
To: Neil Armstrong, Mauro Carvalho Chehab, Greg Kroah-Hartman,
Kevin Hilman
Cc: Jerome Brunet, Martin Blumenstingl, linux-media, linux-amlogic,
linux-staging, linux-arm-kernel, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/staging/media/meson/vdec/vdec.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/media/meson/vdec/vdec.c b/drivers/staging/media/meson/vdec/vdec.c
index 52f224d8def1..5ca4b1200831 100644
--- a/drivers/staging/media/meson/vdec/vdec.c
+++ b/drivers/staging/media/meson/vdec/vdec.c
@@ -1106,19 +1106,17 @@ static int vdec_probe(struct platform_device *pdev)
return ret;
}
-static int vdec_remove(struct platform_device *pdev)
+static void vdec_remove(struct platform_device *pdev)
{
struct amvdec_core *core = platform_get_drvdata(pdev);
video_unregister_device(core->vdev_dec);
v4l2_device_unregister(&core->v4l2_dev);
-
- return 0;
}
static struct platform_driver meson_vdec_driver = {
.probe = vdec_probe,
- .remove = vdec_remove,
+ .remove_new = vdec_remove,
.driver = {
.name = "meson-vdec",
.of_match_table = vdec_dt_match,
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 15/24] staging: media: sunxi: cedrus: Convert to platform remove callback returning void
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
` (6 preceding siblings ...)
2023-04-03 15:40 ` [PATCH 12/24] staging: media: meson: vdec: " Uwe Kleine-König
@ 2023-04-03 15:40 ` Uwe Kleine-König
2023-04-04 8:47 ` Paul Kocialkowski
2023-04-04 16:53 ` Jernej Škrabec
2023-04-03 15:40 ` [PATCH 16/24] staging: media: sun6i-isp: " Uwe Kleine-König
` (2 subsequent siblings)
10 siblings, 2 replies; 23+ messages in thread
From: Uwe Kleine-König @ 2023-04-03 15:40 UTC (permalink / raw)
To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland
Cc: linux-media, linux-staging, linux-arm-kernel, linux-sunxi, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/staging/media/sunxi/cedrus/cedrus.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c b/drivers/staging/media/sunxi/cedrus/cedrus.c
index a43d5ff66716..3c62376c3e94 100644
--- a/drivers/staging/media/sunxi/cedrus/cedrus.c
+++ b/drivers/staging/media/sunxi/cedrus/cedrus.c
@@ -543,7 +543,7 @@ static int cedrus_probe(struct platform_device *pdev)
return ret;
}
-static int cedrus_remove(struct platform_device *pdev)
+static void cedrus_remove(struct platform_device *pdev)
{
struct cedrus_dev *dev = platform_get_drvdata(pdev);
@@ -558,8 +558,6 @@ static int cedrus_remove(struct platform_device *pdev)
v4l2_device_unregister(&dev->v4l2_dev);
cedrus_hw_remove(dev);
-
- return 0;
}
static const struct cedrus_variant sun4i_a10_cedrus_variant = {
@@ -706,7 +704,7 @@ static const struct dev_pm_ops cedrus_dev_pm_ops = {
static struct platform_driver cedrus_driver = {
.probe = cedrus_probe,
- .remove = cedrus_remove,
+ .remove_new = cedrus_remove,
.driver = {
.name = CEDRUS_NAME,
.of_match_table = of_match_ptr(cedrus_dt_match),
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 16/24] staging: media: sun6i-isp: Convert to platform remove callback returning void
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
` (7 preceding siblings ...)
2023-04-03 15:40 ` [PATCH 15/24] staging: media: sunxi: cedrus: " Uwe Kleine-König
@ 2023-04-03 15:40 ` Uwe Kleine-König
2023-04-04 8:47 ` Paul Kocialkowski
2023-04-04 16:54 ` Jernej Škrabec
2023-04-03 15:40 ` [PATCH 23/24] staging: vc04_services: bcm2835-camera: " Uwe Kleine-König
2023-04-03 15:40 ` [PATCH 24/24] staging: vc04_services: vchiq_arm: " Uwe Kleine-König
10 siblings, 2 replies; 23+ messages in thread
From: Uwe Kleine-König @ 2023-04-03 15:40 UTC (permalink / raw)
To: Paul Kocialkowski, Mauro Carvalho Chehab, Greg Kroah-Hartman,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland
Cc: linux-media, linux-staging, linux-arm-kernel, linux-sunxi, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c b/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c
index 7b7947509b69..0dc75adbd9d8 100644
--- a/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c
+++ b/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c
@@ -493,7 +493,7 @@ static int sun6i_isp_probe(struct platform_device *platform_dev)
return ret;
}
-static int sun6i_isp_remove(struct platform_device *platform_dev)
+static void sun6i_isp_remove(struct platform_device *platform_dev)
{
struct sun6i_isp_device *isp_dev = platform_get_drvdata(platform_dev);
@@ -503,8 +503,6 @@ static int sun6i_isp_remove(struct platform_device *platform_dev)
sun6i_isp_v4l2_cleanup(isp_dev);
sun6i_isp_tables_cleanup(isp_dev);
sun6i_isp_resources_cleanup(isp_dev);
-
- return 0;
}
/*
@@ -540,7 +538,7 @@ MODULE_DEVICE_TABLE(of, sun6i_isp_of_match);
static struct platform_driver sun6i_isp_platform_driver = {
.probe = sun6i_isp_probe,
- .remove = sun6i_isp_remove,
+ .remove_new = sun6i_isp_remove,
.driver = {
.name = SUN6I_ISP_NAME,
.of_match_table = of_match_ptr(sun6i_isp_of_match),
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 23/24] staging: vc04_services: bcm2835-camera: Convert to platform remove callback returning void
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
` (8 preceding siblings ...)
2023-04-03 15:40 ` [PATCH 16/24] staging: media: sun6i-isp: " Uwe Kleine-König
@ 2023-04-03 15:40 ` Uwe Kleine-König
2023-04-04 2:26 ` Laurent Pinchart
2023-04-03 15:40 ` [PATCH 24/24] staging: vc04_services: vchiq_arm: " Uwe Kleine-König
10 siblings, 1 reply; 23+ messages in thread
From: Uwe Kleine-König @ 2023-04-03 15:40 UTC (permalink / raw)
To: Greg Kroah-Hartman, Florian Fainelli, Ray Jui, Scott Branden,
Umang Jain, Laurent Pinchart, Andy Shevchenko
Cc: Broadcom internal kernel review list, linux-staging,
linux-rpi-kernel, linux-arm-kernel, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
.../staging/vc04_services/bcm2835-camera/bcm2835-camera.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
index 4f81765912ea..346d00df815a 100644
--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
@@ -1976,7 +1976,7 @@ static int bcm2835_mmal_probe(struct platform_device *pdev)
return ret;
}
-static int bcm2835_mmal_remove(struct platform_device *pdev)
+static void bcm2835_mmal_remove(struct platform_device *pdev)
{
int camera;
struct vchiq_mmal_instance *instance = gdev[0]->instance;
@@ -1986,13 +1986,11 @@ static int bcm2835_mmal_remove(struct platform_device *pdev)
gdev[camera] = NULL;
}
vchiq_mmal_finalise(instance);
-
- return 0;
}
static struct platform_driver bcm2835_camera_driver = {
.probe = bcm2835_mmal_probe,
- .remove = bcm2835_mmal_remove,
+ .remove_new = bcm2835_mmal_remove,
.driver = {
.name = "bcm2835-camera",
},
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 24/24] staging: vc04_services: vchiq_arm: Convert to platform remove callback returning void
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
` (9 preceding siblings ...)
2023-04-03 15:40 ` [PATCH 23/24] staging: vc04_services: bcm2835-camera: " Uwe Kleine-König
@ 2023-04-03 15:40 ` Uwe Kleine-König
10 siblings, 0 replies; 23+ messages in thread
From: Uwe Kleine-König @ 2023-04-03 15:40 UTC (permalink / raw)
To: Florian Fainelli, Greg Kroah-Hartman, Umang Jain, Adrien Thierry,
Stefan Wahren, Fabio M. De Francesco, Phil Elwell, Jakob Koschel
Cc: Broadcom internal kernel review list, linux-rpi-kernel,
linux-arm-kernel, linux-staging, kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
.../staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
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 cddcd3c596c9..40dd62cf7399 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
@@ -1849,14 +1849,12 @@ static int vchiq_probe(struct platform_device *pdev)
return err;
}
-static int vchiq_remove(struct platform_device *pdev)
+static void vchiq_remove(struct platform_device *pdev)
{
platform_device_unregister(bcm2835_audio);
platform_device_unregister(bcm2835_camera);
vchiq_debugfs_deinit();
vchiq_deregister_chrdev();
-
- return 0;
}
static struct platform_driver vchiq_driver = {
@@ -1865,7 +1863,7 @@ static struct platform_driver vchiq_driver = {
.of_match_table = vchiq_of_match,
},
.probe = vchiq_probe,
- .remove = vchiq_remove,
+ .remove_new = vchiq_remove,
};
static int __init vchiq_driver_init(void)
--
2.39.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 07/24] staging: media: atmel-sama7g5-isc: Convert to platform remove callback returning void
2023-04-03 15:39 ` [PATCH 07/24] staging: media: atmel-sama7g5-isc: " Uwe Kleine-König
@ 2023-04-03 16:23 ` Nicolas Ferre
0 siblings, 0 replies; 23+ messages in thread
From: Nicolas Ferre @ 2023-04-03 16:23 UTC (permalink / raw)
To: Uwe Kleine-König, Eugen Hristev, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Alexandre Belloni, Claudiu Beznea
Cc: linux-media, linux-staging, linux-arm-kernel, kernel
On 03/04/2023 at 17:39, Uwe Kleine-König wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
> ---
> drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c b/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c
> index 01ababdfcbd9..315bfc4ac4ff 100644
> --- a/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c
> +++ b/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c
> @@ -549,7 +549,7 @@ static int microchip_xisc_probe(struct platform_device *pdev)
> return ret;
> }
>
> -static int microchip_xisc_remove(struct platform_device *pdev)
> +static void microchip_xisc_remove(struct platform_device *pdev)
> {
> struct isc_device *isc = platform_get_drvdata(pdev);
>
> @@ -562,8 +562,6 @@ static int microchip_xisc_remove(struct platform_device *pdev)
> clk_disable_unprepare(isc->hclock);
>
> atmel_isc_clk_cleanup(isc);
> -
> - return 0;
> }
>
> static int __maybe_unused xisc_runtime_suspend(struct device *dev)
> @@ -601,7 +599,7 @@ MODULE_DEVICE_TABLE(of, microchip_xisc_of_match);
>
> static struct platform_driver microchip_xisc_driver = {
> .probe = microchip_xisc_probe,
> - .remove = microchip_xisc_remove,
> + .remove_new = microchip_xisc_remove,
> .driver = {
> .name = "microchip-sama7g5-xisc",
> .pm = µchip_xisc_dev_pm_ops,
> --
> 2.39.2
>
--
Nicolas Ferre
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 06/24] staging: media: atmel-sama5d2-isc: Convert to platform remove callback returning void
2023-04-03 15:39 ` [PATCH 06/24] staging: media: atmel-sama5d2-isc: Convert to platform remove callback returning void Uwe Kleine-König
@ 2023-04-03 16:24 ` Nicolas Ferre
0 siblings, 0 replies; 23+ messages in thread
From: Nicolas Ferre @ 2023-04-03 16:24 UTC (permalink / raw)
To: Uwe Kleine-König, Eugen Hristev, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Alexandre Belloni, Claudiu Beznea
Cc: linux-media, linux-staging, linux-arm-kernel, kernel
On 03/04/2023 at 17:39, Uwe Kleine-König wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Thanks. Best regards,
Nicolas
> ---
> drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c b/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c
> index ba0614f981a2..cc744cea1d0e 100644
> --- a/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c
> +++ b/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c
> @@ -580,7 +580,7 @@ static int atmel_isc_probe(struct platform_device *pdev)
> return ret;
> }
>
> -static int atmel_isc_remove(struct platform_device *pdev)
> +static void atmel_isc_remove(struct platform_device *pdev)
> {
> struct isc_device *isc = platform_get_drvdata(pdev);
>
> @@ -594,8 +594,6 @@ static int atmel_isc_remove(struct platform_device *pdev)
> clk_disable_unprepare(isc->hclock);
>
> atmel_isc_clk_cleanup(isc);
> -
> - return 0;
> }
>
> static int __maybe_unused isc_runtime_suspend(struct device *dev)
> @@ -638,7 +636,7 @@ MODULE_DEVICE_TABLE(of, atmel_isc_of_match);
>
> static struct platform_driver atmel_isc_driver = {
> .probe = atmel_isc_probe,
> - .remove = atmel_isc_remove,
> + .remove_new = atmel_isc_remove,
> .driver = {
> .name = "atmel-sama5d2-isc",
> .pm = &atmel_isc_dev_pm_ops,
> --
> 2.39.2
>
--
Nicolas Ferre
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 12/24] staging: media: meson: vdec: Convert to platform remove callback returning void
2023-04-03 15:40 ` [PATCH 12/24] staging: media: meson: vdec: " Uwe Kleine-König
@ 2023-04-03 20:38 ` Martin Blumenstingl
0 siblings, 0 replies; 23+ messages in thread
From: Martin Blumenstingl @ 2023-04-03 20:38 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Neil Armstrong, Mauro Carvalho Chehab, Greg Kroah-Hartman,
Kevin Hilman, Jerome Brunet, linux-media, linux-amlogic,
linux-staging, linux-arm-kernel, kernel
On Mon, Apr 3, 2023 at 5:40 PM Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> wrote:
>
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 23/24] staging: vc04_services: bcm2835-camera: Convert to platform remove callback returning void
2023-04-03 15:40 ` [PATCH 23/24] staging: vc04_services: bcm2835-camera: " Uwe Kleine-König
@ 2023-04-04 2:26 ` Laurent Pinchart
0 siblings, 0 replies; 23+ messages in thread
From: Laurent Pinchart @ 2023-04-04 2:26 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Greg Kroah-Hartman, Florian Fainelli, Ray Jui, Scott Branden,
Umang Jain, Andy Shevchenko, Broadcom internal kernel review list,
linux-staging, linux-rpi-kernel, linux-arm-kernel, kernel
Hi Uwe,
Thank you for the patch.
On Mon, Apr 03, 2023 at 05:40:13PM +0200, Uwe Kleine-König wrote:
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> .../staging/vc04_services/bcm2835-camera/bcm2835-camera.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
> index 4f81765912ea..346d00df815a 100644
> --- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
> +++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
> @@ -1976,7 +1976,7 @@ static int bcm2835_mmal_probe(struct platform_device *pdev)
> return ret;
> }
>
> -static int bcm2835_mmal_remove(struct platform_device *pdev)
> +static void bcm2835_mmal_remove(struct platform_device *pdev)
> {
> int camera;
> struct vchiq_mmal_instance *instance = gdev[0]->instance;
> @@ -1986,13 +1986,11 @@ static int bcm2835_mmal_remove(struct platform_device *pdev)
> gdev[camera] = NULL;
> }
> vchiq_mmal_finalise(instance);
> -
> - return 0;
> }
>
> static struct platform_driver bcm2835_camera_driver = {
> .probe = bcm2835_mmal_probe,
> - .remove = bcm2835_mmal_remove,
> + .remove_new = bcm2835_mmal_remove,
> .driver = {
> .name = "bcm2835-camera",
> },
--
Regards,
Laurent Pinchart
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 08/24] staging: media: imx-media-csi: Convert to platform remove callback returning void
2023-04-03 15:39 ` [PATCH 08/24] staging: media: imx-media-csi: " Uwe Kleine-König
@ 2023-04-04 8:38 ` Philipp Zabel
0 siblings, 0 replies; 23+ messages in thread
From: Philipp Zabel @ 2023-04-04 8:38 UTC (permalink / raw)
To: Uwe Kleine-König, Steve Longerbeam, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Shawn Guo, Sascha Hauer
Cc: Fabio Estevam, NXP Linux Team, linux-media, linux-staging,
linux-arm-kernel, kernel
On Mo, 2023-04-03 at 17:39 +0200, Uwe Kleine-König wrote:
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
regards
Philipp
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 09/24] staging: media: imx-media-dev: Convert to platform remove callback returning void
2023-04-03 15:39 ` [PATCH 09/24] staging: media: imx-media-dev: " Uwe Kleine-König
@ 2023-04-04 8:38 ` Philipp Zabel
0 siblings, 0 replies; 23+ messages in thread
From: Philipp Zabel @ 2023-04-04 8:38 UTC (permalink / raw)
To: Uwe Kleine-König, Steve Longerbeam, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Shawn Guo, Sascha Hauer
Cc: Fabio Estevam, NXP Linux Team, linux-media, linux-staging,
linux-arm-kernel, kernel
On Mo, 2023-04-03 at 17:39 +0200, Uwe Kleine-König wrote:
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
regards
Philipp
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 10/24] staging: media: imx6-mipi-csi2: Convert to platform remove callback returning void
2023-04-03 15:40 ` [PATCH 10/24] staging: media: imx6-mipi-csi2: " Uwe Kleine-König
@ 2023-04-04 8:38 ` Philipp Zabel
0 siblings, 0 replies; 23+ messages in thread
From: Philipp Zabel @ 2023-04-04 8:38 UTC (permalink / raw)
To: Uwe Kleine-König, Steve Longerbeam, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Shawn Guo, Sascha Hauer
Cc: Fabio Estevam, NXP Linux Team, linux-media, linux-staging,
linux-arm-kernel, kernel
On Mo, 2023-04-03 at 17:40 +0200, Uwe Kleine-König wrote:
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
regards
Philipp
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 11/24] staging: media: imx8mq-mipi-csi2: Convert to platform remove callback returning void
2023-04-03 15:40 ` [PATCH 11/24] staging: media: imx8mq-mipi-csi2: " Uwe Kleine-König
@ 2023-04-04 8:38 ` Philipp Zabel
0 siblings, 0 replies; 23+ messages in thread
From: Philipp Zabel @ 2023-04-04 8:38 UTC (permalink / raw)
To: Uwe Kleine-König, Steve Longerbeam, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Shawn Guo, Sascha Hauer
Cc: Fabio Estevam, NXP Linux Team, linux-media, linux-staging,
linux-arm-kernel, kernel
On Mo, 2023-04-03 at 17:40 +0200, Uwe Kleine-König wrote:
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
regards
Philipp
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 15/24] staging: media: sunxi: cedrus: Convert to platform remove callback returning void
2023-04-03 15:40 ` [PATCH 15/24] staging: media: sunxi: cedrus: " Uwe Kleine-König
@ 2023-04-04 8:47 ` Paul Kocialkowski
2023-04-04 16:53 ` Jernej Škrabec
1 sibling, 0 replies; 23+ messages in thread
From: Paul Kocialkowski @ 2023-04-04 8:47 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Maxime Ripard, Mauro Carvalho Chehab, Greg Kroah-Hartman,
Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, linux-media,
linux-staging, linux-arm-kernel, linux-sunxi, kernel
[-- Attachment #1.1: Type: text/plain, Size: 2169 bytes --]
Hi,
On Mon 03 Apr 23, 17:40, Uwe Kleine-König wrote:
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Thanks,
Paul
> ---
> drivers/staging/media/sunxi/cedrus/cedrus.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c b/drivers/staging/media/sunxi/cedrus/cedrus.c
> index a43d5ff66716..3c62376c3e94 100644
> --- a/drivers/staging/media/sunxi/cedrus/cedrus.c
> +++ b/drivers/staging/media/sunxi/cedrus/cedrus.c
> @@ -543,7 +543,7 @@ static int cedrus_probe(struct platform_device *pdev)
> return ret;
> }
>
> -static int cedrus_remove(struct platform_device *pdev)
> +static void cedrus_remove(struct platform_device *pdev)
> {
> struct cedrus_dev *dev = platform_get_drvdata(pdev);
>
> @@ -558,8 +558,6 @@ static int cedrus_remove(struct platform_device *pdev)
> v4l2_device_unregister(&dev->v4l2_dev);
>
> cedrus_hw_remove(dev);
> -
> - return 0;
> }
>
> static const struct cedrus_variant sun4i_a10_cedrus_variant = {
> @@ -706,7 +704,7 @@ static const struct dev_pm_ops cedrus_dev_pm_ops = {
>
> static struct platform_driver cedrus_driver = {
> .probe = cedrus_probe,
> - .remove = cedrus_remove,
> + .remove_new = cedrus_remove,
> .driver = {
> .name = CEDRUS_NAME,
> .of_match_table = of_match_ptr(cedrus_dt_match),
> --
> 2.39.2
>
--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 16/24] staging: media: sun6i-isp: Convert to platform remove callback returning void
2023-04-03 15:40 ` [PATCH 16/24] staging: media: sun6i-isp: " Uwe Kleine-König
@ 2023-04-04 8:47 ` Paul Kocialkowski
2023-04-04 16:54 ` Jernej Škrabec
1 sibling, 0 replies; 23+ messages in thread
From: Paul Kocialkowski @ 2023-04-04 8:47 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Mauro Carvalho Chehab, Greg Kroah-Hartman, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, linux-media, linux-staging,
linux-arm-kernel, linux-sunxi, kernel
[-- Attachment #1.1: Type: text/plain, Size: 2259 bytes --]
Hi,
On Mon 03 Apr 23, 17:40, Uwe Kleine-König wrote:
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Thanks,
Paul
> ---
> drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c b/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c
> index 7b7947509b69..0dc75adbd9d8 100644
> --- a/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c
> +++ b/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c
> @@ -493,7 +493,7 @@ static int sun6i_isp_probe(struct platform_device *platform_dev)
> return ret;
> }
>
> -static int sun6i_isp_remove(struct platform_device *platform_dev)
> +static void sun6i_isp_remove(struct platform_device *platform_dev)
> {
> struct sun6i_isp_device *isp_dev = platform_get_drvdata(platform_dev);
>
> @@ -503,8 +503,6 @@ static int sun6i_isp_remove(struct platform_device *platform_dev)
> sun6i_isp_v4l2_cleanup(isp_dev);
> sun6i_isp_tables_cleanup(isp_dev);
> sun6i_isp_resources_cleanup(isp_dev);
> -
> - return 0;
> }
>
> /*
> @@ -540,7 +538,7 @@ MODULE_DEVICE_TABLE(of, sun6i_isp_of_match);
>
> static struct platform_driver sun6i_isp_platform_driver = {
> .probe = sun6i_isp_probe,
> - .remove = sun6i_isp_remove,
> + .remove_new = sun6i_isp_remove,
> .driver = {
> .name = SUN6I_ISP_NAME,
> .of_match_table = of_match_ptr(sun6i_isp_of_match),
> --
> 2.39.2
>
--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 15/24] staging: media: sunxi: cedrus: Convert to platform remove callback returning void
2023-04-03 15:40 ` [PATCH 15/24] staging: media: sunxi: cedrus: " Uwe Kleine-König
2023-04-04 8:47 ` Paul Kocialkowski
@ 2023-04-04 16:53 ` Jernej Škrabec
1 sibling, 0 replies; 23+ messages in thread
From: Jernej Škrabec @ 2023-04-04 16:53 UTC (permalink / raw)
To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
Greg Kroah-Hartman, Chen-Yu Tsai, Samuel Holland,
Uwe Kleine-König
Cc: linux-media, linux-staging, linux-arm-kernel, linux-sunxi, kernel
Dne ponedeljek, 03. april 2023 ob 17:40:05 CEST je Uwe Kleine-König
napisal(a):
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards,
Jernej
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 16/24] staging: media: sun6i-isp: Convert to platform remove callback returning void
2023-04-03 15:40 ` [PATCH 16/24] staging: media: sun6i-isp: " Uwe Kleine-König
2023-04-04 8:47 ` Paul Kocialkowski
@ 2023-04-04 16:54 ` Jernej Škrabec
1 sibling, 0 replies; 23+ messages in thread
From: Jernej Škrabec @ 2023-04-04 16:54 UTC (permalink / raw)
To: Paul Kocialkowski, Mauro Carvalho Chehab, Greg Kroah-Hartman,
Chen-Yu Tsai, Samuel Holland, Uwe Kleine-König
Cc: linux-media, linux-staging, linux-arm-kernel, linux-sunxi, kernel
Dne ponedeljek, 03. april 2023 ob 17:40:06 CEST je Uwe Kleine-König
napisal(a):
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards,
Jernej
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2023-04-04 16:55 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20230403154014.2564054-1-u.kleine-koenig@pengutronix.de>
2023-04-03 15:39 ` [PATCH 06/24] staging: media: atmel-sama5d2-isc: Convert to platform remove callback returning void Uwe Kleine-König
2023-04-03 16:24 ` Nicolas Ferre
2023-04-03 15:39 ` [PATCH 07/24] staging: media: atmel-sama7g5-isc: " Uwe Kleine-König
2023-04-03 16:23 ` Nicolas Ferre
2023-04-03 15:39 ` [PATCH 08/24] staging: media: imx-media-csi: " Uwe Kleine-König
2023-04-04 8:38 ` Philipp Zabel
2023-04-03 15:39 ` [PATCH 09/24] staging: media: imx-media-dev: " Uwe Kleine-König
2023-04-04 8:38 ` Philipp Zabel
2023-04-03 15:40 ` [PATCH 10/24] staging: media: imx6-mipi-csi2: " Uwe Kleine-König
2023-04-04 8:38 ` Philipp Zabel
2023-04-03 15:40 ` [PATCH 11/24] staging: media: imx8mq-mipi-csi2: " Uwe Kleine-König
2023-04-04 8:38 ` Philipp Zabel
2023-04-03 15:40 ` [PATCH 12/24] staging: media: meson: vdec: " Uwe Kleine-König
2023-04-03 20:38 ` Martin Blumenstingl
2023-04-03 15:40 ` [PATCH 15/24] staging: media: sunxi: cedrus: " Uwe Kleine-König
2023-04-04 8:47 ` Paul Kocialkowski
2023-04-04 16:53 ` Jernej Škrabec
2023-04-03 15:40 ` [PATCH 16/24] staging: media: sun6i-isp: " Uwe Kleine-König
2023-04-04 8:47 ` Paul Kocialkowski
2023-04-04 16:54 ` Jernej Škrabec
2023-04-03 15:40 ` [PATCH 23/24] staging: vc04_services: bcm2835-camera: " Uwe Kleine-König
2023-04-04 2:26 ` Laurent Pinchart
2023-04-03 15:40 ` [PATCH 24/24] staging: vc04_services: vchiq_arm: " Uwe Kleine-König
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox