[PATCH 00/53] drm: Convert to platform remove callback returning void

Thomas Zimmermann tzimmermann at suse.de
Mon May 8 07:06:27 UTC 2023


Hi,

for the whole series:

Reviewed-by: Thomas Zimmermann <tzimmermann at suse.de>

Please see my comment on the patches to tiny/.

Let me know if you want me to merge this patchset into drm-misc-next.

Best regards
Thomas

Am 07.05.23 um 18:25 schrieb Uwe Kleine-König:
> Hello,
> 
> this patch series adapts the platform drivers below drivers/gpu/drm
> to use the .remove_new() callback. Compared to the traditional .remove()
> callback .remove_new() returns no value. This is a good thing because
> the driver core doesn't (and cannot) cope for errors during remove. The
> only effect of a non-zero return value in .remove() is that the driver
> core emits a warning. The device is removed anyhow and an early return
> from .remove() usually yields a resource leak.
> 
> By changing the remove callback to return void driver authors cannot
> reasonably (but wrongly) assume any more that there happens some kind of
> cleanup later.
> 
> Best regards
> Uwe
> 
> Uwe Kleine-König (53):
>    drm/komeda: Convert to platform remove callback returning void
>    drm/arm/hdlcd: Convert to platform remove callback returning void
>    drm/arm/malidp: Convert to platform remove callback returning void
>    drm/armada: Convert to platform remove callback returning void
>    drm/aspeed: Convert to platform remove callback returning void
>    drm/atmel-hlcdc: Convert to platform remove callback returning void
>    drm/bridge: cdns-dsi: Convert to platform remove callback returning
>      void
>    drm/bridge: display-connector: Convert to platform remove callback
>      returning void
>    drm/bridge: fsl-ldb: Convert to platform remove callback returning
>      void
>    drm/imx/imx8*: Convert to platform remove callback returning void
>    drm/bridge: lvds-codec: Convert to platform remove callback returning
>      void
>    drm/bridge: nwl-dsi: Convert to platform remove callback returning
>      void
>    drm/bridge: simple-bridge: Convert to platform remove callback
>      returning void
>    drm/bridge: synopsys: Convert to platform remove callback returning
>      void
>    drm/bridge: thc63lvd1024: Convert to platform remove callback
>      returning void
>    drm/bridge: tfp410: 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/fsl-dcu: Convert to platform remove callback returning void
>    drm/hisilicon: Convert to platform remove callback returning void
>    drm/imx/dcss: Convert to platform remove callback returning void
>    drm/imx/ipuv3: Convert to platform remove callback returning void
>    drm/ingenic: Convert to platform remove callback returning void
>    drm/kmb: Convert to platform remove callback returning void
>    drm/lima: Convert to platform remove callback returning void
>    drm/logicvc: Convert to platform remove callback returning void
>    drm/mcde: Convert to platform remove callback returning void
>    drm/mediatek: 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/msm: Convert to platform remove callback returning void
>    drm/mxsfb: Convert to platform remove callback returning void
>    drm/nouveau: Convert to platform remove callback returning void
>    drm/omap: Convert to platform remove callback returning void
>    drm/panel: Convert to platform remove callback returning void
>    drm/panfrost: Convert to platform remove callback returning void
>    drm/rcar-du: Convert to platform remove callback returning void
>    drm/rockchip: Convert to platform remove callback returning void
>    drm/shmobile: Convert to platform remove callback returning void
>    drm/sprd: Convert to platform remove callback returning void
>    drm/sti: Convert to platform remove callback returning void
>    drm/stm: Convert to platform remove callback returning void
>    drm/sun4i: Convert to platform remove callback returning void
>    drm/tegra: Convert to platform remove callback returning void
>    drm/tests: helpers: Convert to platform remove callback returning void
>    drm/tidss: Convert to platform remove callback returning void
>    drm/tilcdc: Convert to platform remove callback returning void
>    drm/tiny: Convert to platform remove callback returning void
>    drm/tiny: Convert to platform remove callback returning void
>    drm/tve200: Convert to platform remove callback returning void
>    drm/v3d: Convert to platform remove callback returning void
>    drm/vc4: Convert to platform remove callback returning void
>    drm/xlnx/zynqmp_dpsub: Convert to platform remove callback returning
>      void
> 
>   drivers/gpu/drm/arm/display/komeda/komeda_drv.c     | 5 ++---
>   drivers/gpu/drm/arm/hdlcd_drv.c                     | 5 ++---
>   drivers/gpu/drm/arm/malidp_drv.c                    | 5 ++---
>   drivers/gpu/drm/armada/armada_crtc.c                | 5 ++---
>   drivers/gpu/drm/armada/armada_drv.c                 | 5 ++---
>   drivers/gpu/drm/aspeed/aspeed_gfx_drv.c             | 6 ++----
>   drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c        | 6 ++----
>   drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c      | 6 ++----
>   drivers/gpu/drm/bridge/display-connector.c          | 6 ++----
>   drivers/gpu/drm/bridge/fsl-ldb.c                    | 6 ++----
>   drivers/gpu/drm/bridge/imx/imx8qm-ldb-drv.c         | 6 ++----
>   drivers/gpu/drm/bridge/imx/imx8qxp-ldb-drv.c        | 6 ++----
>   drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c | 6 ++----
>   drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c     | 6 ++----
>   drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c        | 6 ++----
>   drivers/gpu/drm/bridge/lvds-codec.c                 | 6 ++----
>   drivers/gpu/drm/bridge/nwl-dsi.c                    | 5 ++---
>   drivers/gpu/drm/bridge/simple-bridge.c              | 6 ++----
>   drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 6 ++----
>   drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c       | 6 ++----
>   drivers/gpu/drm/bridge/synopsys/dw-hdmi-gp-audio.c  | 6 ++----
>   drivers/gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 6 ++----
>   drivers/gpu/drm/bridge/thc63lvd1024.c               | 6 ++----
>   drivers/gpu/drm/bridge/ti-tfp410.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_dsi.c             | 6 ++----
>   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_hdmi.c                | 6 ++----
>   drivers/gpu/drm/exynos/exynos_mixer.c               | 6 ++----
>   drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c           | 6 ++----
>   drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c        | 6 ++----
>   drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c     | 5 ++---
>   drivers/gpu/drm/imx/dcss/dcss-drv.c                 | 6 ++----
>   drivers/gpu/drm/imx/ipuv3/dw_hdmi-imx.c             | 6 ++----
>   drivers/gpu/drm/imx/ipuv3/imx-drm-core.c            | 5 ++---
>   drivers/gpu/drm/imx/ipuv3/imx-ldb.c                 | 5 ++---
>   drivers/gpu/drm/imx/ipuv3/imx-tve.c                 | 5 ++---
>   drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c              | 5 ++---
>   drivers/gpu/drm/imx/ipuv3/parallel-display.c        | 6 ++----
>   drivers/gpu/drm/ingenic/ingenic-drm-drv.c           | 6 ++----
>   drivers/gpu/drm/ingenic/ingenic-ipu.c               | 5 ++---
>   drivers/gpu/drm/kmb/kmb_drv.c                       | 5 ++---
>   drivers/gpu/drm/lima/lima_drv.c                     | 5 ++---
>   drivers/gpu/drm/logicvc/logicvc_drm.c               | 6 ++----
>   drivers/gpu/drm/mcde/mcde_drv.c                     | 6 ++----
>   drivers/gpu/drm/mcde/mcde_dsi.c                     | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_cec.c                  | 5 ++---
>   drivers/gpu/drm/mediatek/mtk_disp_aal.c             | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_disp_ccorr.c           | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_disp_color.c           | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_disp_gamma.c           | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_disp_merge.c           | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_disp_ovl.c             | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_disp_rdma.c            | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_dp.c                   | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_dpi.c                  | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_drm_drv.c              | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_dsi.c                  | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_hdmi.c                 | 5 ++---
>   drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c             | 6 ++----
>   drivers/gpu/drm/mediatek/mtk_mdp_rdma.c             | 5 ++---
>   drivers/gpu/drm/meson/meson_drv.c                   | 6 ++----
>   drivers/gpu/drm/meson/meson_dw_hdmi.c               | 6 ++----
>   drivers/gpu/drm/msm/adreno/adreno_device.c          | 5 ++---
>   drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c             | 6 ++----
>   drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c            | 6 ++----
>   drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c            | 5 ++---
>   drivers/gpu/drm/msm/dp/dp_display.c                 | 6 ++----
>   drivers/gpu/drm/msm/dsi/dsi.c                       | 6 ++----
>   drivers/gpu/drm/msm/hdmi/hdmi.c                     | 6 ++----
>   drivers/gpu/drm/msm/hdmi/hdmi_phy.c                 | 6 ++----
>   drivers/gpu/drm/msm/msm_drv.c                       | 6 ++----
>   drivers/gpu/drm/msm/msm_mdss.c                      | 6 ++----
>   drivers/gpu/drm/mxsfb/lcdif_drv.c                   | 6 ++----
>   drivers/gpu/drm/mxsfb/mxsfb_drv.c                   | 6 ++----
>   drivers/gpu/drm/nouveau/nouveau_platform.c          | 5 ++---
>   drivers/gpu/drm/omapdrm/dss/dispc.c                 | 5 ++---
>   drivers/gpu/drm/omapdrm/dss/dsi.c                   | 6 ++----
>   drivers/gpu/drm/omapdrm/dss/dss.c                   | 6 ++----
>   drivers/gpu/drm/omapdrm/dss/hdmi4.c                 | 5 ++---
>   drivers/gpu/drm/omapdrm/dss/hdmi5.c                 | 5 ++---
>   drivers/gpu/drm/omapdrm/dss/venc.c                  | 5 ++---
>   drivers/gpu/drm/omapdrm/omap_dmm_tiler.c            | 9 +++------
>   drivers/gpu/drm/omapdrm/omap_drv.c                  | 6 ++----
>   drivers/gpu/drm/panel/panel-lvds.c                  | 6 ++----
>   drivers/gpu/drm/panel/panel-seiko-43wvf1g.c         | 6 ++----
>   drivers/gpu/drm/panel/panel-sharp-ls037v7dw01.c     | 6 ++----
>   drivers/gpu/drm/panel/panel-simple.c                | 6 ++----
>   drivers/gpu/drm/panfrost/panfrost_drv.c             | 5 ++---
>   drivers/gpu/drm/rcar-du/rcar_cmm.c                  | 6 ++----
>   drivers/gpu/drm/rcar-du/rcar_du_drv.c               | 6 ++----
>   drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c              | 6 ++----
>   drivers/gpu/drm/rcar-du/rcar_lvds.c                 | 6 ++----
>   drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c             | 6 ++----
>   drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c            | 6 ++----
>   drivers/gpu/drm/rockchip/analogix_dp-rockchip.c     | 6 ++----
>   drivers/gpu/drm/rockchip/cdn-dp-core.c              | 6 ++----
>   drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c     | 6 ++----
>   drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c         | 6 ++----
>   drivers/gpu/drm/rockchip/inno_hdmi.c                | 6 ++----
>   drivers/gpu/drm/rockchip/rk3066_hdmi.c              | 6 ++----
>   drivers/gpu/drm/rockchip/rockchip_drm_drv.c         | 6 ++----
>   drivers/gpu/drm/rockchip/rockchip_lvds.c            | 6 ++----
>   drivers/gpu/drm/rockchip/rockchip_vop2_reg.c        | 6 ++----
>   drivers/gpu/drm/rockchip/rockchip_vop_reg.c         | 6 ++----
>   drivers/gpu/drm/shmobile/shmob_drm_drv.c            | 6 ++----
>   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/sti/sti_compositor.c                | 5 ++---
>   drivers/gpu/drm/sti/sti_drv.c                       | 6 ++----
>   drivers/gpu/drm/sti/sti_dvo.c                       | 5 ++---
>   drivers/gpu/drm/sti/sti_hda.c                       | 5 ++---
>   drivers/gpu/drm/sti/sti_hdmi.c                      | 6 ++----
>   drivers/gpu/drm/sti/sti_hqvdp.c                     | 5 ++---
>   drivers/gpu/drm/sti/sti_tvout.c                     | 5 ++---
>   drivers/gpu/drm/stm/drv.c                           | 6 ++----
>   drivers/gpu/drm/stm/dw_mipi_dsi-stm.c               | 6 ++----
>   drivers/gpu/drm/sun4i/sun4i_backend.c               | 6 ++----
>   drivers/gpu/drm/sun4i/sun4i_drv.c                   | 6 ++----
>   drivers/gpu/drm/sun4i/sun4i_frontend.c              | 6 ++----
>   drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c              | 6 ++----
>   drivers/gpu/drm/sun4i/sun4i_tcon.c                  | 6 ++----
>   drivers/gpu/drm/sun4i/sun4i_tv.c                    | 6 ++----
>   drivers/gpu/drm/sun4i/sun6i_drc.c                   | 6 ++----
>   drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c              | 6 ++----
>   drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c               | 6 ++----
>   drivers/gpu/drm/sun4i/sun8i_mixer.c                 | 6 ++----
>   drivers/gpu/drm/sun4i/sun8i_tcon_top.c              | 6 ++----
>   drivers/gpu/drm/tegra/dpaux.c                       | 6 ++----
>   drivers/gpu/drm/tests/drm_kunit_helpers.c           | 5 ++---
>   drivers/gpu/drm/tidss/tidss_drv.c                   | 6 ++----
>   drivers/gpu/drm/tilcdc/tilcdc_panel.c               | 6 ++----
>   drivers/gpu/drm/tiny/arcpgu.c                       | 6 ++----
>   drivers/gpu/drm/tiny/ofdrm.c                        | 6 ++----
>   drivers/gpu/drm/tiny/simpledrm.c                    | 6 ++----
>   drivers/gpu/drm/tve200/tve200_drv.c                 | 6 ++----
>   drivers/gpu/drm/v3d/v3d_drv.c                       | 6 ++----
>   drivers/gpu/drm/vc4/vc4_crtc.c                      | 5 ++---
>   drivers/gpu/drm/vc4/vc4_dpi.c                       | 5 ++---
>   drivers/gpu/drm/vc4/vc4_drv.c                       | 6 ++----
>   drivers/gpu/drm/vc4/vc4_dsi.c                       | 6 ++----
>   drivers/gpu/drm/vc4/vc4_hdmi.c                      | 5 ++---
>   drivers/gpu/drm/vc4/vc4_hvs.c                       | 5 ++---
>   drivers/gpu/drm/vc4/vc4_txp.c                       | 5 ++---
>   drivers/gpu/drm/vc4/vc4_v3d.c                       | 5 ++---
>   drivers/gpu/drm/vc4/vc4_vec.c                       | 5 ++---
>   drivers/gpu/drm/xlnx/zynqmp_dpsub.c                 | 6 ++----
>   159 files changed, 319 insertions(+), 597 deletions(-)
> 
> 
> base-commit: 457391b0380335d5e9a5babdec90ac53928b23b4

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20230508/83f8e808/attachment-0001.sig>


More information about the dri-devel mailing list