Uwe Kleine-König
2023-Nov-02 16:56 UTC
[Nouveau] [PATCH v3 00/16] drm: Convert to platform remove callback returning void
Hello,
this series converts all platform drivers below drivers/gpu/drm to use
.remove_new(). It starts with a fix for a problem that potentially might
crash the kernel that I stumbled over while implementing the conversion.
Some of the conversion patches following this fix were already send in
earlier series:
https://lore.kernel.org/dri-devel/20230801110239.831099-1-u.kleine-koenig at
pengutronix.de
https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig at
pengutronix.de
and three patches (bridge/tpd12s015, exynos + tilcdc) are new. Parts of
the above series were picked up, the patches resend here are not.
See commit 5c5a7680e67b ("platform: Provide a remove callback that
returns no value") for an extended explanation and the eventual goal.
Compared to the earlier submissions this patch series is rebased to
today's drm-misc-next. Otherwise there is no relevant change.
Best regards
Uwe
Uwe Kleine-K?nig (16):
drm/bridge: tpd12s015: Drop buggy __exit annotation for remove
function
drm/arcpgu: Convert to platform remove callback returning void
drm/armada: Convert to platform remove callback returning void
drm/bridge: cdns-mhdp8546: Improve error reporting in remove callback
drm/bridge: cdns-mhdp8546: Convert to platform remove callback
returning void
drm/bridge: tpd12s015: Convert to platform remove callback returning
void
drm/etnaviv: Convert to platform remove callback returning void
drm/exynos: Convert to platform remove callback returning void
drm/imx/dcss: Convert to platform remove callback returning void
drm/imx: lcdc: Convert to platform remove callback returning void
drm/kmb: Convert to platform remove callback returning void
drm/mediatek: Convert to platform remove callback returning void
drm/meson: Convert to platform remove callback returning void
drm/nouveau: Convert to platform remove callback returning void
drm/sprd: Convert to platform remove callback returning void
drm/tilcdc: Convert to platform remove callback returning void
drivers/gpu/drm/armada/armada_crtc.c | 5 ++---
drivers/gpu/drm/armada/armada_drv.c | 5 ++---
.../drm/bridge/cadence/cdns-mhdp8546-core.c | 22 +++++++++----------
drivers/gpu/drm/bridge/ti-tpd12s015.c | 6 ++---
drivers/gpu/drm/etnaviv/etnaviv_drv.c | 6 ++---
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 5 ++---
drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 6 ++---
drivers/gpu/drm/exynos/exynos7_drm_decon.c | 6 ++---
drivers/gpu/drm/exynos/exynos_dp.c | 6 ++---
drivers/gpu/drm/exynos/exynos_drm_drv.c | 5 ++---
drivers/gpu/drm/exynos/exynos_drm_fimc.c | 6 ++---
drivers/gpu/drm/exynos/exynos_drm_fimd.c | 6 ++---
drivers/gpu/drm/exynos/exynos_drm_g2d.c | 6 ++---
drivers/gpu/drm/exynos/exynos_drm_gsc.c | 6 ++---
drivers/gpu/drm/exynos/exynos_drm_mic.c | 6 ++---
drivers/gpu/drm/exynos/exynos_drm_rotator.c | 6 ++---
drivers/gpu/drm/exynos/exynos_drm_scaler.c | 6 ++---
drivers/gpu/drm/exynos/exynos_drm_vidi.c | 6 ++---
drivers/gpu/drm/exynos/exynos_hdmi.c | 6 ++---
drivers/gpu/drm/exynos/exynos_mixer.c | 6 ++---
drivers/gpu/drm/imx/dcss/dcss-drv.c | 6 ++---
drivers/gpu/drm/imx/lcdc/imx-lcdc.c | 6 ++---
drivers/gpu/drm/kmb/kmb_drv.c | 5 ++---
.../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 5 ++---
drivers/gpu/drm/mediatek/mtk_ethdr.c | 5 ++---
drivers/gpu/drm/meson/meson_dw_mipi_dsi.c | 6 ++---
drivers/gpu/drm/nouveau/nouveau_platform.c | 5 ++---
drivers/gpu/drm/sprd/sprd_dpu.c | 6 ++---
drivers/gpu/drm/sprd/sprd_drm.c | 5 ++---
drivers/gpu/drm/sprd/sprd_dsi.c | 6 ++---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 9 ++++----
drivers/gpu/drm/tiny/arcpgu.c | 6 ++---
32 files changed, 74 insertions(+), 128 deletions(-)
base-commit: 6fd9487147c4f18ad77eea00bd8c9189eec74a3e
--
2.42.0
Uwe Kleine-König
2023-Nov-02 16:56 UTC
[Nouveau] [PATCH v3 14/16] drm/nouveau: Convert to platform remove callback returning void
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.
Reviewed-by: Thomas Zimmermann <tzimmermann at suse.de>
Reviewed-by: Jyri Sarha <jyri.sarha at iki.fi>
Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig at pengutronix.de>
---
drivers/gpu/drm/nouveau/nouveau_platform.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_platform.c
b/drivers/gpu/drm/nouveau/nouveau_platform.c
index 23cd43a7fd19..bf2dc7567ea4 100644
--- a/drivers/gpu/drm/nouveau/nouveau_platform.c
+++ b/drivers/gpu/drm/nouveau/nouveau_platform.c
@@ -43,11 +43,10 @@ static int nouveau_platform_probe(struct platform_device
*pdev)
return 0;
}
-static int nouveau_platform_remove(struct platform_device *pdev)
+static void nouveau_platform_remove(struct platform_device *pdev)
{
struct drm_device *dev = platform_get_drvdata(pdev);
nouveau_drm_device_remove(dev);
- return 0;
}
#if IS_ENABLED(CONFIG_OF)
@@ -93,5 +92,5 @@ struct platform_driver nouveau_platform_driver = {
.of_match_table = of_match_ptr(nouveau_platform_match),
},
.probe = nouveau_platform_probe,
- .remove = nouveau_platform_remove,
+ .remove_new = nouveau_platform_remove,
};
--
2.42.0
Uwe Kleine-König
2023-Nov-20 12:05 UTC
[Nouveau] [PATCH v3 00/16] drm: Convert to platform remove callback returning void
[Dropped a few people from To that resulted in bounces before.] On Thu, Nov 02, 2023 at 05:56:41PM +0100, Uwe Kleine-K?nig wrote:> Hello, > > this series converts all platform drivers below drivers/gpu/drm to use > .remove_new(). It starts with a fix for a problem that potentially might > crash the kernel that I stumbled over while implementing the conversion. > > Some of the conversion patches following this fix were already send in > earlier series: > > https://lore.kernel.org/dri-devel/20230801110239.831099-1-u.kleine-koenig at pengutronix.de > https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig at pengutronix.de > > and three patches (bridge/tpd12s015, exynos + tilcdc) are new. Parts of > the above series were picked up, the patches resend here are not.Apart from a Reviewed-by: by Toni Valkeinen for patch #16 and Inki Dae who wrote to have taken patch #8 (but that didn't appear in neither next nor drm-misc-next yet). Also in v2 they didn't result in euphoric replies. Can someone who cares about drm as a whole please care for this series apply it? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | https://www.pengutronix.de/ | -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20231120/640f5ce2/attachment.sig>