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

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Sun May 7 16:25:23 UTC 2023


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
-- 
2.39.2



More information about the dri-devel mailing list