All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/16] drm: Convert to platform remove callback returning void
@ 2023-11-02 16:56 ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Tomi Valkeinen, Sam Ravnborg, Sebastian Reichel, Alexey Brodkin,
	Russell King, Aradhya Bhatia, Nikhil Devshatwar,
	Javier Martinez Canillas, Zhu Wang, Rob Herring, Lucas Stach,
	Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
	Jingoo Han, Laurentiu Palcu, Shawn Guo, Sascha Hauer,
	Philipp Zabel, Steven Price, Liviu Dudau, Thierry Reding,
	Marian Cichy, Dan Carpenter, Anitha Chrisanthus, Edmund Dea,
	Chun-Kuang Hu, Matthias Brugger, Kevin Hilman, Ben Skeggs,
	Karol Herbst, Lyude Paul, Orson Zhai, Baolin Wang, Chunyan Zhang,
	Kieran Bingham, Deepak R Varma, Jani Nikula, Jyri Sarha,
	Tomi Valkeinen
  Cc: Laurent Pinchart, Jonas Karlman, Jernej Skrabec, dri-devel,
	kernel, Russell King, Christian Gmeiner, etnaviv, Alim Akhtar,
	linux-arm-kernel, linux-samsung-soc, Fabio Estevam,
	NXP Linux Team, AngeloGioacchino Del Regno, linux-mediatek,
	Jerome Brunet, Martin Blumenstingl, linux-amlogic, nouveau

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@pengutronix.de
	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [Nouveau] [PATCH v3 00/16] drm: Convert to platform remove callback returning void
@ 2023-11-02 16:56 ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Tomi Valkeinen, Sam Ravnborg, Sebastian Reichel, Alexey Brodkin,
	Russell King, Aradhya Bhatia, Nikhil Devshatwar,
	Javier Martinez Canillas, Zhu Wang, Rob Herring, Lucas Stach,
	Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
	Jingoo Han, Laurentiu Palcu, Shawn Guo, Sascha Hauer,
	Philipp Zabel, Steven Price, Liviu Dudau, Thierry Reding,
	Marian Cichy, Dan Carpenter, Anitha Chrisanthus, Edmund Dea,
	Chun-Kuang Hu, Matthias Brugger, Kevin Hilman, Ben Skeggs,
	Karol Herbst, Lyude Paul, Orson Zhai, Baolin Wang, Chunyan Zhang,
	Kieran Bingham, Deepak R Varma, Jani Nikula, Jyri Sarha,
	Tomi Valkeinen
  Cc: Jernej Skrabec, Alim Akhtar, Jonas Karlman, Martin Blumenstingl,
	nouveau, etnaviv, dri-devel, Christian Gmeiner,
	linux-samsung-soc, linux-mediatek, Laurent Pinchart, kernel,
	Russell King, Jerome Brunet, linux-amlogic,
	AngeloGioacchino Del Regno, Fabio Estevam, linux-arm-kernel,
	NXP Linux Team

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@pengutronix.de
	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v3 00/16] drm: Convert to platform remove callback returning void
@ 2023-11-02 16:56 ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Tomi Valkeinen, Sam Ravnborg, Sebastian Reichel, Alexey Brodkin,
	Russell King, Aradhya Bhatia, Nikhil Devshatwar,
	Javier Martinez Canillas, Zhu Wang, Rob Herring, Lucas Stach,
	Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
	Jingoo Han, Laurentiu Palcu, Shawn Guo, Sascha Hauer,
	Philipp Zabel, Steven Price, Liviu Dudau, Thierry Reding,
	Marian Cichy, Dan Carpenter, Anitha Chrisanthus, Edmund Dea,
	Chun-Kuang Hu, Matthias Brugger, Kevin Hilman, Ben Skeggs,
	Karol Herbst, Lyude Paul, Orson Zhai, Baolin Wang, Chunyan Zhang,
	Kieran Bingham, Deepak R Varma, Jani Nikula, Jyri Sarha,
	Tomi Valkeinen
  Cc: Jernej Skrabec, Alim Akhtar, Jonas Karlman, Martin Blumenstingl,
	nouveau, etnaviv, dri-devel, Christian Gmeiner,
	linux-samsung-soc, linux-mediatek, Laurent Pinchart, kernel,
	Russell King, Jerome Brunet, linux-amlogic,
	AngeloGioacchino Del Regno, linux-arm-kernel, NXP Linux Team

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@pengutronix.de
	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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


^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v3 00/16] drm: Convert to platform remove callback returning void
@ 2023-11-02 16:56 ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Tomi Valkeinen, Sam Ravnborg, Sebastian Reichel, Alexey Brodkin,
	Russell King, Aradhya Bhatia, Nikhil Devshatwar,
	Javier Martinez Canillas, Zhu Wang, Rob Herring, Lucas Stach,
	Inki Dae, Seung-Woo Kim, Kyungmin Park, Krzysztof Kozlowski,
	Jingoo Han, Laurentiu Palcu, Shawn Guo, Sascha Hauer,
	Philipp Zabel, Steven Price, Liviu Dudau, Thierry Reding,
	Marian Cichy, Dan Carpenter, Anitha Chrisanthus, Edmund Dea,
	Chun-Kuang Hu, Matthias Brugger, Kevin Hilman, Ben Skeggs,
	Karol Herbst, Lyude Paul, Orson Zhai, Baolin Wang, Chunyan Zhang,
	Kieran Bingham, Deepak R Varma, Jani Nikula, Jyri Sarha,
	Tomi Valkeinen
  Cc: Laurent Pinchart, Jonas Karlman, Jernej Skrabec, dri-devel,
	kernel, Russell King, Christian Gmeiner, etnaviv, Alim Akhtar,
	linux-arm-kernel, linux-samsung-soc, Fabio Estevam,
	NXP Linux Team, AngeloGioacchino Del Regno, linux-mediatek,
	Jerome Brunet, Martin Blumenstingl, linux-amlogic, nouveau

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@pengutronix.de
	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH v3 01/16] drm/bridge: tpd12s015: Drop buggy __exit annotation for remove function
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
                   ` (2 preceding siblings ...)
  (?)
@ 2023-11-02 16:56 ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Tomi Valkeinen, Sam Ravnborg, Sebastian Reichel
  Cc: kernel, dri-devel, Laurent Pinchart, Jernej Skrabec, Jonas Karlman

With tpd12s015_remove() marked with __exit this function is discarded
when the driver is compiled as a built-in. The result is that when the
driver unbinds there is no cleanup done which results in resource
leakage or worse.

Fixes: cff5e6f7e83f ("drm/bridge: Add driver for the TI TPD12S015 HDMI level shifter")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/bridge/ti-tpd12s015.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/bridge/ti-tpd12s015.c b/drivers/gpu/drm/bridge/ti-tpd12s015.c
index e0e015243a60..b588fea12502 100644
--- a/drivers/gpu/drm/bridge/ti-tpd12s015.c
+++ b/drivers/gpu/drm/bridge/ti-tpd12s015.c
@@ -179,7 +179,7 @@ static int tpd12s015_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int __exit tpd12s015_remove(struct platform_device *pdev)
+static int tpd12s015_remove(struct platform_device *pdev)
 {
 	struct tpd12s015_device *tpd = platform_get_drvdata(pdev);
 
@@ -197,7 +197,7 @@ MODULE_DEVICE_TABLE(of, tpd12s015_of_match);
 
 static struct platform_driver tpd12s015_driver = {
 	.probe	= tpd12s015_probe,
-	.remove	= __exit_p(tpd12s015_remove),
+	.remove = tpd12s015_remove,
 	.driver	= {
 		.name	= "tpd12s015",
 		.of_match_table = tpd12s015_of_match,
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 02/16] drm/arcpgu: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
                   ` (3 preceding siblings ...)
  (?)
@ 2023-11-02 16:56 ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Alexey Brodkin, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter
  Cc: Jyri Sarha, kernel, dri-devel

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@suse.de>
Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/tiny/arcpgu.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/tiny/arcpgu.c b/drivers/gpu/drm/tiny/arcpgu.c
index e5b10e41554a..4f8f3172379e 100644
--- a/drivers/gpu/drm/tiny/arcpgu.c
+++ b/drivers/gpu/drm/tiny/arcpgu.c
@@ -404,14 +404,12 @@ static int arcpgu_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int arcpgu_remove(struct platform_device *pdev)
+static void arcpgu_remove(struct platform_device *pdev)
 {
 	struct drm_device *drm = platform_get_drvdata(pdev);
 
 	drm_dev_unregister(drm);
 	arcpgu_unload(drm);
-
-	return 0;
 }
 
 static const struct of_device_id arcpgu_of_table[] = {
@@ -423,7 +421,7 @@ MODULE_DEVICE_TABLE(of, arcpgu_of_table);
 
 static struct platform_driver arcpgu_platform_driver = {
 	.probe = arcpgu_probe,
-	.remove = arcpgu_remove,
+	.remove_new = arcpgu_remove,
 	.driver = {
 		   .name = "arcpgu",
 		   .of_match_table = arcpgu_of_table,
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 03/16] drm/armada: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
                   ` (4 preceding siblings ...)
  (?)
@ 2023-11-02 16:56 ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Russell King, David Airlie, Daniel Vetter
  Cc: Thomas Zimmermann, Jyri Sarha, kernel, dri-devel

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 the armada drm drivers from always returning zero in
the remove callback to the void returning variant.

Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/armada/armada_crtc.c | 5 ++---
 drivers/gpu/drm/armada/armada_drv.c  | 5 ++---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_crtc.c b/drivers/gpu/drm/armada/armada_crtc.c
index 15dd667aa2e7..52d2c942d3d2 100644
--- a/drivers/gpu/drm/armada/armada_crtc.c
+++ b/drivers/gpu/drm/armada/armada_crtc.c
@@ -1066,10 +1066,9 @@ static int armada_lcd_probe(struct platform_device *pdev)
 	return component_add(&pdev->dev, &armada_lcd_ops);
 }
 
-static int armada_lcd_remove(struct platform_device *pdev)
+static void armada_lcd_remove(struct platform_device *pdev)
 {
 	component_del(&pdev->dev, &armada_lcd_ops);
-	return 0;
 }
 
 static const struct of_device_id armada_lcd_of_match[] = {
@@ -1095,7 +1094,7 @@ MODULE_DEVICE_TABLE(platform, armada_lcd_platform_ids);
 
 struct platform_driver armada_lcd_platform_driver = {
 	.probe	= armada_lcd_probe,
-	.remove	= armada_lcd_remove,
+	.remove_new = armada_lcd_remove,
 	.driver = {
 		.name	= "armada-lcd",
 		.owner	=  THIS_MODULE,
diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
index fa1c67598706..e51ecc4f7ef4 100644
--- a/drivers/gpu/drm/armada/armada_drv.c
+++ b/drivers/gpu/drm/armada/armada_drv.c
@@ -226,10 +226,9 @@ static int armada_drm_probe(struct platform_device *pdev)
 					       match);
 }
 
-static int armada_drm_remove(struct platform_device *pdev)
+static void armada_drm_remove(struct platform_device *pdev)
 {
 	component_master_del(&pdev->dev, &armada_master_ops);
-	return 0;
 }
 
 static void armada_drm_shutdown(struct platform_device *pdev)
@@ -249,7 +248,7 @@ MODULE_DEVICE_TABLE(platform, armada_drm_platform_ids);
 
 static struct platform_driver armada_drm_platform_driver = {
 	.probe	= armada_drm_probe,
-	.remove	= armada_drm_remove,
+	.remove_new = armada_drm_remove,
 	.shutdown = armada_drm_shutdown,
 	.driver	= {
 		.name	= "armada-drm",
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 04/16] drm/bridge: cdns-mhdp8546: Improve error reporting in remove callback
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
                   ` (5 preceding siblings ...)
  (?)
@ 2023-11-02 16:56 ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Aradhya Bhatia, Nikhil Devshatwar, Tomi Valkeinen,
	Javier Martinez Canillas, Zhu Wang, Rob Herring
  Cc: kernel, dri-devel, Laurent Pinchart, Jernej Skrabec, Jonas Karlman

Replace the generic error message issued by the driver core when the remove
callback returns non-zero ("remove callback returned a non-zero value. This
will be ignored.") by a message that tells the actual problem.

Also simplify a bit by checking the return value of wait_event_timeout a
bit later.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 .../drm/bridge/cadence/cdns-mhdp8546-core.c    | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
index 6af565ac307a..66c87d36ce51 100644
--- a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
+++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
@@ -2600,7 +2600,6 @@ static int cdns_mhdp_remove(struct platform_device *pdev)
 {
 	struct cdns_mhdp_device *mhdp = platform_get_drvdata(pdev);
 	unsigned long timeout = msecs_to_jiffies(100);
-	bool stop_fw = false;
 	int ret;
 
 	drm_bridge_remove(&mhdp->bridge);
@@ -2608,18 +2607,19 @@ static int cdns_mhdp_remove(struct platform_device *pdev)
 	ret = wait_event_timeout(mhdp->fw_load_wq,
 				 mhdp->hw_state == MHDP_HW_READY,
 				 timeout);
-	if (ret == 0)
-		dev_err(mhdp->dev, "%s: Timeout waiting for fw loading\n",
-			__func__);
-	else
-		stop_fw = true;
-
 	spin_lock(&mhdp->start_lock);
 	mhdp->hw_state = MHDP_HW_STOPPED;
 	spin_unlock(&mhdp->start_lock);
 
-	if (stop_fw)
+	if (ret == 0) {
+		dev_err(mhdp->dev, "%s: Timeout waiting for fw loading\n",
+			__func__);
+	} else {
 		ret = cdns_mhdp_set_firmware_active(mhdp, false);
+		if (ret)
+			dev_err(mhdp->dev, "Failed to stop firmware (%pe)\n",
+				ERR_PTR(ret));
+	}
 
 	phy_exit(mhdp->phy);
 
@@ -2635,7 +2635,7 @@ static int cdns_mhdp_remove(struct platform_device *pdev)
 
 	clk_disable_unprepare(mhdp->clk);
 
-	return ret;
+	return 0;
 }
 
 static const struct of_device_id mhdp_ids[] = {
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 05/16] drm/bridge: cdns-mhdp8546: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
                   ` (6 preceding siblings ...)
  (?)
@ 2023-11-02 16:56 ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Aradhya Bhatia, Javier Martinez Canillas, Nikhil Devshatwar,
	Tomi Valkeinen, Rob Herring, Zhu Wang
  Cc: kernel, dri-devel, Laurent Pinchart, Jernej Skrabec, Jonas Karlman

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/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
index 66c87d36ce51..7d470527455b 100644
--- a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
+++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
@@ -2596,7 +2596,7 @@ static int cdns_mhdp_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int cdns_mhdp_remove(struct platform_device *pdev)
+static void cdns_mhdp_remove(struct platform_device *pdev)
 {
 	struct cdns_mhdp_device *mhdp = platform_get_drvdata(pdev);
 	unsigned long timeout = msecs_to_jiffies(100);
@@ -2634,8 +2634,6 @@ static int cdns_mhdp_remove(struct platform_device *pdev)
 	/* Ignoring mhdp->hdcp.check_work and mhdp->hdcp.prop_work here. */
 
 	clk_disable_unprepare(mhdp->clk);
-
-	return 0;
 }
 
 static const struct of_device_id mhdp_ids[] = {
@@ -2658,7 +2656,7 @@ static struct platform_driver mhdp_driver = {
 		.of_match_table	= mhdp_ids,
 	},
 	.probe	= cdns_mhdp_probe,
-	.remove	= cdns_mhdp_remove,
+	.remove_new = cdns_mhdp_remove,
 };
 module_platform_driver(mhdp_driver);
 
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 06/16] drm/bridge: tpd12s015: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
                   ` (7 preceding siblings ...)
  (?)
@ 2023-11-02 16:56 ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter
  Cc: kernel, dri-devel, Laurent Pinchart, Jernej Skrabec, Jonas Karlman

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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/gpu/drm/bridge/ti-tpd12s015.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/bridge/ti-tpd12s015.c b/drivers/gpu/drm/bridge/ti-tpd12s015.c
index b588fea12502..f9fb35683a27 100644
--- a/drivers/gpu/drm/bridge/ti-tpd12s015.c
+++ b/drivers/gpu/drm/bridge/ti-tpd12s015.c
@@ -179,13 +179,11 @@ static int tpd12s015_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int tpd12s015_remove(struct platform_device *pdev)
+static void tpd12s015_remove(struct platform_device *pdev)
 {
 	struct tpd12s015_device *tpd = platform_get_drvdata(pdev);
 
 	drm_bridge_remove(&tpd->bridge);
-
-	return 0;
 }
 
 static const struct of_device_id tpd12s015_of_match[] = {
@@ -197,7 +195,7 @@ MODULE_DEVICE_TABLE(of, tpd12s015_of_match);
 
 static struct platform_driver tpd12s015_driver = {
 	.probe	= tpd12s015_probe,
-	.remove = tpd12s015_remove,
+	.remove_new = tpd12s015_remove,
 	.driver	= {
 		.name	= "tpd12s015",
 		.of_match_table = tpd12s015_of_match,
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 07/16] drm/etnaviv: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
                   ` (8 preceding siblings ...)
  (?)
@ 2023-11-02 16:56 ` Uwe Kleine-König
  2023-11-02 17:05   ` Uwe Kleine-König
  -1 siblings, 1 reply; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Lucas Stach, David Airlie, Daniel Vetter
  Cc: Thomas Zimmermann, etnaviv, dri-devel, Christian Gmeiner, kernel,
	Russell King, Jyri Sarha

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 the etnaviv drm driver from always returning zero in
the remove callback to the void returning variant.

Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/etnaviv/etnaviv_drv.c | 6 ++----
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 5 ++---
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
index a8d3fa81e4ec..6228ce603248 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
@@ -640,16 +640,14 @@ static int etnaviv_pdev_probe(struct platform_device *pdev)
 	return component_master_add_with_match(dev, &etnaviv_master_ops, match);
 }
 
-static int etnaviv_pdev_remove(struct platform_device *pdev)
+static void etnaviv_pdev_remove(struct platform_device *pdev)
 {
 	component_master_del(&pdev->dev, &etnaviv_master_ops);
-
-	return 0;
 }
 
 static struct platform_driver etnaviv_platform_driver = {
 	.probe      = etnaviv_pdev_probe,
-	.remove     = etnaviv_pdev_remove,
+	.remove_new = etnaviv_pdev_remove,
 	.driver     = {
 		.name   = "etnaviv",
 	},
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index 9276756e1397..ef6738706475 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -1904,11 +1904,10 @@ static int etnaviv_gpu_platform_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int etnaviv_gpu_platform_remove(struct platform_device *pdev)
+static void etnaviv_gpu_platform_remove(struct platform_device *pdev)
 {
 	component_del(&pdev->dev, &gpu_ops);
 	pm_runtime_disable(&pdev->dev);
-	return 0;
 }
 
 static int etnaviv_gpu_rpm_suspend(struct device *dev)
@@ -1970,6 +1969,6 @@ struct platform_driver etnaviv_gpu_driver = {
 		.of_match_table = etnaviv_gpu_match,
 	},
 	.probe = etnaviv_gpu_platform_probe,
-	.remove = etnaviv_gpu_platform_remove,
+	.remove_new = etnaviv_gpu_platform_remove,
 	.id_table = gpu_ids,
 };
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
  (?)
@ 2023-11-02 16:56   ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Inki Dae, Seung-Woo Kim, Kyungmin Park, David Airlie,
	Daniel Vetter, Krzysztof Kozlowski, Jingoo Han
  Cc: Alim Akhtar, dri-devel, linux-arm-kernel, linux-samsung-soc, 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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert the exynos drivers 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/gpu/drm/exynos/exynos_mixer.c :: 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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/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 ++----
 14 files changed, 28 insertions(+), 55 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
index 4d986077738b..776f2f0b602d 100644
--- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
@@ -862,18 +862,16 @@ static int exynos5433_decon_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int exynos5433_decon_remove(struct platform_device *pdev)
+static void exynos5433_decon_remove(struct platform_device *pdev)
 {
 	pm_runtime_disable(&pdev->dev);
 
 	component_del(&pdev->dev, &decon_component_ops);
-
-	return 0;
 }
 
 struct platform_driver exynos5433_decon_driver = {
 	.probe		= exynos5433_decon_probe,
-	.remove		= exynos5433_decon_remove,
+	.remove_new	= exynos5433_decon_remove,
 	.driver		= {
 		.name	= "exynos5433-decon",
 		.pm	= pm_ptr(&exynos5433_decon_pm_ops),
diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
index 0156a5e94435..0d185c0564b9 100644
--- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
@@ -765,7 +765,7 @@ static int decon_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int decon_remove(struct platform_device *pdev)
+static void decon_remove(struct platform_device *pdev)
 {
 	struct decon_context *ctx = dev_get_drvdata(&pdev->dev);
 
@@ -774,8 +774,6 @@ static int decon_remove(struct platform_device *pdev)
 	iounmap(ctx->regs);
 
 	component_del(&pdev->dev, &decon_component_ops);
-
-	return 0;
 }
 
 static int exynos7_decon_suspend(struct device *dev)
@@ -840,7 +838,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(exynos7_decon_pm_ops, exynos7_decon_suspend,
 
 struct platform_driver decon_driver = {
 	.probe		= decon_probe,
-	.remove		= decon_remove,
+	.remove_new	= decon_remove,
 	.driver		= {
 		.name	= "exynos-decon",
 		.pm	= pm_ptr(&exynos7_decon_pm_ops),
diff --git a/drivers/gpu/drm/exynos/exynos_dp.c b/drivers/gpu/drm/exynos/exynos_dp.c
index 3404ec1367fb..ca31bad6c576 100644
--- a/drivers/gpu/drm/exynos/exynos_dp.c
+++ b/drivers/gpu/drm/exynos/exynos_dp.c
@@ -250,14 +250,12 @@ static int exynos_dp_probe(struct platform_device *pdev)
 	return component_add(&pdev->dev, &exynos_dp_ops);
 }
 
-static int exynos_dp_remove(struct platform_device *pdev)
+static void exynos_dp_remove(struct platform_device *pdev)
 {
 	struct exynos_dp_device *dp = platform_get_drvdata(pdev);
 
 	component_del(&pdev->dev, &exynos_dp_ops);
 	analogix_dp_remove(dp->adp);
-
-	return 0;
 }
 
 static int exynos_dp_suspend(struct device *dev)
@@ -285,7 +283,7 @@ MODULE_DEVICE_TABLE(of, exynos_dp_match);
 
 struct platform_driver dp_driver = {
 	.probe		= exynos_dp_probe,
-	.remove		= exynos_dp_remove,
+	.remove_new	= exynos_dp_remove,
 	.driver		= {
 		.name	= "exynos-dp",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index 8399256cb5c9..a6bff29fc254 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -344,15 +344,14 @@ static int exynos_drm_platform_probe(struct platform_device *pdev)
 					       match);
 }
 
-static int exynos_drm_platform_remove(struct platform_device *pdev)
+static void exynos_drm_platform_remove(struct platform_device *pdev)
 {
 	component_master_del(&pdev->dev, &exynos_drm_ops);
-	return 0;
 }
 
 static struct platform_driver exynos_drm_platform_driver = {
 	.probe	= exynos_drm_platform_probe,
-	.remove	= exynos_drm_platform_remove,
+	.remove_new = exynos_drm_platform_remove,
 	.driver	= {
 		.name	= "exynos-drm",
 		.pm	= &exynos_drm_pm_ops,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimc.c b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
index 8de2714599fc..e81a576de398 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
@@ -1367,7 +1367,7 @@ static int fimc_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int fimc_remove(struct platform_device *pdev)
+static void fimc_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 	struct fimc_context *ctx = get_fimc_context(dev);
@@ -1377,8 +1377,6 @@ static int fimc_remove(struct platform_device *pdev)
 	pm_runtime_disable(dev);
 
 	fimc_put_clocks(ctx);
-
-	return 0;
 }
 
 static int fimc_runtime_suspend(struct device *dev)
@@ -1410,7 +1408,7 @@ MODULE_DEVICE_TABLE(of, fimc_of_match);
 
 struct platform_driver fimc_driver = {
 	.probe		= fimc_probe,
-	.remove		= fimc_remove,
+	.remove_new	= fimc_remove,
 	.driver		= {
 		.of_match_table = fimc_of_match,
 		.name	= "exynos-drm-fimc",
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 8dde7b1e9b35..a9f1c5c05894 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -1277,13 +1277,11 @@ static int fimd_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int fimd_remove(struct platform_device *pdev)
+static void fimd_remove(struct platform_device *pdev)
 {
 	pm_runtime_disable(&pdev->dev);
 
 	component_del(&pdev->dev, &fimd_component_ops);
-
-	return 0;
 }
 
 static int exynos_fimd_suspend(struct device *dev)
@@ -1325,7 +1323,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(exynos_fimd_pm_ops, exynos_fimd_suspend,
 
 struct platform_driver fimd_driver = {
 	.probe		= fimd_probe,
-	.remove		= fimd_remove,
+	.remove_new	= fimd_remove,
 	.driver		= {
 		.name	= "exynos4-fb",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
index 414e585ec7dd..f3138423612e 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
@@ -1530,7 +1530,7 @@ static int g2d_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int g2d_remove(struct platform_device *pdev)
+static void g2d_remove(struct platform_device *pdev)
 {
 	struct g2d_data *g2d = platform_get_drvdata(pdev);
 
@@ -1545,8 +1545,6 @@ static int g2d_remove(struct platform_device *pdev)
 	g2d_fini_cmdlist(g2d);
 	destroy_workqueue(g2d->g2d_workq);
 	kmem_cache_destroy(g2d->runqueue_slab);
-
-	return 0;
 }
 
 static int g2d_suspend(struct device *dev)
@@ -1609,7 +1607,7 @@ MODULE_DEVICE_TABLE(of, exynos_g2d_match);
 
 struct platform_driver g2d_driver = {
 	.probe		= g2d_probe,
-	.remove		= g2d_remove,
+	.remove_new	= g2d_remove,
 	.driver		= {
 		.name	= "exynos-drm-g2d",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
index 34cdabc30b4f..6776d3e037c9 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
@@ -1308,15 +1308,13 @@ static int gsc_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int gsc_remove(struct platform_device *pdev)
+static void gsc_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 
 	component_del(dev, &gsc_component_ops);
 	pm_runtime_dont_use_autosuspend(dev);
 	pm_runtime_disable(dev);
-
-	return 0;
 }
 
 static int __maybe_unused gsc_runtime_suspend(struct device *dev)
@@ -1421,7 +1419,7 @@ MODULE_DEVICE_TABLE(of, exynos_drm_gsc_of_match);
 
 struct platform_driver gsc_driver = {
 	.probe		= gsc_probe,
-	.remove		= gsc_remove,
+	.remove_new	= gsc_remove,
 	.driver		= {
 		.name	= "exynos-drm-gsc",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
index 17bab5b1663f..e2920960180f 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
@@ -442,7 +442,7 @@ static int exynos_mic_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int exynos_mic_remove(struct platform_device *pdev)
+static void exynos_mic_remove(struct platform_device *pdev)
 {
 	struct exynos_mic *mic = platform_get_drvdata(pdev);
 
@@ -450,8 +450,6 @@ static int exynos_mic_remove(struct platform_device *pdev)
 	pm_runtime_disable(&pdev->dev);
 
 	drm_bridge_remove(&mic->bridge);
-
-	return 0;
 }
 
 static const struct of_device_id exynos_mic_of_match[] = {
@@ -462,7 +460,7 @@ MODULE_DEVICE_TABLE(of, exynos_mic_of_match);
 
 struct platform_driver mic_driver = {
 	.probe		= exynos_mic_probe,
-	.remove		= exynos_mic_remove,
+	.remove_new	= exynos_mic_remove,
 	.driver		= {
 		.name	= "exynos-mic",
 		.pm	= pm_ptr(&exynos_mic_pm_ops),
diff --git a/drivers/gpu/drm/exynos/exynos_drm_rotator.c b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
index ffb327c5139e..5f7516655b08 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_rotator.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
@@ -329,15 +329,13 @@ static int rotator_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int rotator_remove(struct platform_device *pdev)
+static void rotator_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 
 	component_del(dev, &rotator_component_ops);
 	pm_runtime_dont_use_autosuspend(dev);
 	pm_runtime_disable(dev);
-
-	return 0;
 }
 
 static int rotator_runtime_suspend(struct device *dev)
@@ -453,7 +451,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(rotator_pm_ops, rotator_runtime_suspend,
 
 struct platform_driver rotator_driver = {
 	.probe		= rotator_probe,
-	.remove		= rotator_remove,
+	.remove_new	= rotator_remove,
 	.driver		= {
 		.name	= "exynos-rotator",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_scaler.c b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
index f2b8b09a6b4e..392f721f13ab 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_scaler.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
@@ -539,15 +539,13 @@ static int scaler_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int scaler_remove(struct platform_device *pdev)
+static void scaler_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 
 	component_del(dev, &scaler_component_ops);
 	pm_runtime_dont_use_autosuspend(dev);
 	pm_runtime_disable(dev);
-
-	return 0;
 }
 
 static int clk_disable_unprepare_wrapper(struct clk *clk)
@@ -721,7 +719,7 @@ MODULE_DEVICE_TABLE(of, exynos_scaler_match);
 
 struct platform_driver scaler_driver = {
 	.probe		= scaler_probe,
-	.remove		= scaler_remove,
+	.remove_new	= scaler_remove,
 	.driver		= {
 		.name	= "exynos-scaler",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
index f5e1adfcaa51..00382f28748a 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
@@ -462,7 +462,7 @@ static int vidi_probe(struct platform_device *pdev)
 	return component_add(dev, &vidi_component_ops);
 }
 
-static int vidi_remove(struct platform_device *pdev)
+static void vidi_remove(struct platform_device *pdev)
 {
 	struct vidi_context *ctx = platform_get_drvdata(pdev);
 
@@ -472,13 +472,11 @@ static int vidi_remove(struct platform_device *pdev)
 	}
 
 	component_del(&pdev->dev, &vidi_component_ops);
-
-	return 0;
 }
 
 struct platform_driver vidi_driver = {
 	.probe		= vidi_probe,
-	.remove		= vidi_remove,
+	.remove_new	= vidi_remove,
 	.driver		= {
 		.name	= "exynos-drm-vidi",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index f3aaa4ea3e68..6dfc8411ef84 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -2067,7 +2067,7 @@ static int hdmi_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int hdmi_remove(struct platform_device *pdev)
+static void hdmi_remove(struct platform_device *pdev)
 {
 	struct hdmi_context *hdata = platform_get_drvdata(pdev);
 
@@ -2090,8 +2090,6 @@ static int hdmi_remove(struct platform_device *pdev)
 	put_device(&hdata->ddc_adpt->dev);
 
 	mutex_destroy(&hdata->mutex);
-
-	return 0;
 }
 
 static int __maybe_unused exynos_hdmi_suspend(struct device *dev)
@@ -2123,7 +2121,7 @@ static const struct dev_pm_ops exynos_hdmi_pm_ops = {
 
 struct platform_driver hdmi_driver = {
 	.probe		= hdmi_probe,
-	.remove		= hdmi_remove,
+	.remove_new	= hdmi_remove,
 	.driver		= {
 		.name	= "exynos-hdmi",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index b302392ff0d7..6822333fd0e6 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -1258,13 +1258,11 @@ static int mixer_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int mixer_remove(struct platform_device *pdev)
+static void mixer_remove(struct platform_device *pdev)
 {
 	pm_runtime_disable(&pdev->dev);
 
 	component_del(&pdev->dev, &mixer_component_ops);
-
-	return 0;
 }
 
 static int __maybe_unused exynos_mixer_suspend(struct device *dev)
@@ -1338,5 +1336,5 @@ struct platform_driver mixer_driver = {
 		.of_match_table = mixer_match_types,
 	},
 	.probe = mixer_probe,
-	.remove = mixer_remove,
+	.remove_new = mixer_remove,
 };
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-11-02 16:56   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Inki Dae, Seung-Woo Kim, Kyungmin Park, David Airlie,
	Daniel Vetter, Krzysztof Kozlowski, Jingoo Han
  Cc: Alim Akhtar, dri-devel, linux-arm-kernel, linux-samsung-soc, 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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert the exynos drivers 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/gpu/drm/exynos/exynos_mixer.c :: 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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/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 ++----
 14 files changed, 28 insertions(+), 55 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
index 4d986077738b..776f2f0b602d 100644
--- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
@@ -862,18 +862,16 @@ static int exynos5433_decon_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int exynos5433_decon_remove(struct platform_device *pdev)
+static void exynos5433_decon_remove(struct platform_device *pdev)
 {
 	pm_runtime_disable(&pdev->dev);
 
 	component_del(&pdev->dev, &decon_component_ops);
-
-	return 0;
 }
 
 struct platform_driver exynos5433_decon_driver = {
 	.probe		= exynos5433_decon_probe,
-	.remove		= exynos5433_decon_remove,
+	.remove_new	= exynos5433_decon_remove,
 	.driver		= {
 		.name	= "exynos5433-decon",
 		.pm	= pm_ptr(&exynos5433_decon_pm_ops),
diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
index 0156a5e94435..0d185c0564b9 100644
--- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
@@ -765,7 +765,7 @@ static int decon_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int decon_remove(struct platform_device *pdev)
+static void decon_remove(struct platform_device *pdev)
 {
 	struct decon_context *ctx = dev_get_drvdata(&pdev->dev);
 
@@ -774,8 +774,6 @@ static int decon_remove(struct platform_device *pdev)
 	iounmap(ctx->regs);
 
 	component_del(&pdev->dev, &decon_component_ops);
-
-	return 0;
 }
 
 static int exynos7_decon_suspend(struct device *dev)
@@ -840,7 +838,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(exynos7_decon_pm_ops, exynos7_decon_suspend,
 
 struct platform_driver decon_driver = {
 	.probe		= decon_probe,
-	.remove		= decon_remove,
+	.remove_new	= decon_remove,
 	.driver		= {
 		.name	= "exynos-decon",
 		.pm	= pm_ptr(&exynos7_decon_pm_ops),
diff --git a/drivers/gpu/drm/exynos/exynos_dp.c b/drivers/gpu/drm/exynos/exynos_dp.c
index 3404ec1367fb..ca31bad6c576 100644
--- a/drivers/gpu/drm/exynos/exynos_dp.c
+++ b/drivers/gpu/drm/exynos/exynos_dp.c
@@ -250,14 +250,12 @@ static int exynos_dp_probe(struct platform_device *pdev)
 	return component_add(&pdev->dev, &exynos_dp_ops);
 }
 
-static int exynos_dp_remove(struct platform_device *pdev)
+static void exynos_dp_remove(struct platform_device *pdev)
 {
 	struct exynos_dp_device *dp = platform_get_drvdata(pdev);
 
 	component_del(&pdev->dev, &exynos_dp_ops);
 	analogix_dp_remove(dp->adp);
-
-	return 0;
 }
 
 static int exynos_dp_suspend(struct device *dev)
@@ -285,7 +283,7 @@ MODULE_DEVICE_TABLE(of, exynos_dp_match);
 
 struct platform_driver dp_driver = {
 	.probe		= exynos_dp_probe,
-	.remove		= exynos_dp_remove,
+	.remove_new	= exynos_dp_remove,
 	.driver		= {
 		.name	= "exynos-dp",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index 8399256cb5c9..a6bff29fc254 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -344,15 +344,14 @@ static int exynos_drm_platform_probe(struct platform_device *pdev)
 					       match);
 }
 
-static int exynos_drm_platform_remove(struct platform_device *pdev)
+static void exynos_drm_platform_remove(struct platform_device *pdev)
 {
 	component_master_del(&pdev->dev, &exynos_drm_ops);
-	return 0;
 }
 
 static struct platform_driver exynos_drm_platform_driver = {
 	.probe	= exynos_drm_platform_probe,
-	.remove	= exynos_drm_platform_remove,
+	.remove_new = exynos_drm_platform_remove,
 	.driver	= {
 		.name	= "exynos-drm",
 		.pm	= &exynos_drm_pm_ops,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimc.c b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
index 8de2714599fc..e81a576de398 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
@@ -1367,7 +1367,7 @@ static int fimc_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int fimc_remove(struct platform_device *pdev)
+static void fimc_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 	struct fimc_context *ctx = get_fimc_context(dev);
@@ -1377,8 +1377,6 @@ static int fimc_remove(struct platform_device *pdev)
 	pm_runtime_disable(dev);
 
 	fimc_put_clocks(ctx);
-
-	return 0;
 }
 
 static int fimc_runtime_suspend(struct device *dev)
@@ -1410,7 +1408,7 @@ MODULE_DEVICE_TABLE(of, fimc_of_match);
 
 struct platform_driver fimc_driver = {
 	.probe		= fimc_probe,
-	.remove		= fimc_remove,
+	.remove_new	= fimc_remove,
 	.driver		= {
 		.of_match_table = fimc_of_match,
 		.name	= "exynos-drm-fimc",
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 8dde7b1e9b35..a9f1c5c05894 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -1277,13 +1277,11 @@ static int fimd_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int fimd_remove(struct platform_device *pdev)
+static void fimd_remove(struct platform_device *pdev)
 {
 	pm_runtime_disable(&pdev->dev);
 
 	component_del(&pdev->dev, &fimd_component_ops);
-
-	return 0;
 }
 
 static int exynos_fimd_suspend(struct device *dev)
@@ -1325,7 +1323,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(exynos_fimd_pm_ops, exynos_fimd_suspend,
 
 struct platform_driver fimd_driver = {
 	.probe		= fimd_probe,
-	.remove		= fimd_remove,
+	.remove_new	= fimd_remove,
 	.driver		= {
 		.name	= "exynos4-fb",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
index 414e585ec7dd..f3138423612e 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
@@ -1530,7 +1530,7 @@ static int g2d_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int g2d_remove(struct platform_device *pdev)
+static void g2d_remove(struct platform_device *pdev)
 {
 	struct g2d_data *g2d = platform_get_drvdata(pdev);
 
@@ -1545,8 +1545,6 @@ static int g2d_remove(struct platform_device *pdev)
 	g2d_fini_cmdlist(g2d);
 	destroy_workqueue(g2d->g2d_workq);
 	kmem_cache_destroy(g2d->runqueue_slab);
-
-	return 0;
 }
 
 static int g2d_suspend(struct device *dev)
@@ -1609,7 +1607,7 @@ MODULE_DEVICE_TABLE(of, exynos_g2d_match);
 
 struct platform_driver g2d_driver = {
 	.probe		= g2d_probe,
-	.remove		= g2d_remove,
+	.remove_new	= g2d_remove,
 	.driver		= {
 		.name	= "exynos-drm-g2d",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
index 34cdabc30b4f..6776d3e037c9 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
@@ -1308,15 +1308,13 @@ static int gsc_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int gsc_remove(struct platform_device *pdev)
+static void gsc_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 
 	component_del(dev, &gsc_component_ops);
 	pm_runtime_dont_use_autosuspend(dev);
 	pm_runtime_disable(dev);
-
-	return 0;
 }
 
 static int __maybe_unused gsc_runtime_suspend(struct device *dev)
@@ -1421,7 +1419,7 @@ MODULE_DEVICE_TABLE(of, exynos_drm_gsc_of_match);
 
 struct platform_driver gsc_driver = {
 	.probe		= gsc_probe,
-	.remove		= gsc_remove,
+	.remove_new	= gsc_remove,
 	.driver		= {
 		.name	= "exynos-drm-gsc",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
index 17bab5b1663f..e2920960180f 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
@@ -442,7 +442,7 @@ static int exynos_mic_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int exynos_mic_remove(struct platform_device *pdev)
+static void exynos_mic_remove(struct platform_device *pdev)
 {
 	struct exynos_mic *mic = platform_get_drvdata(pdev);
 
@@ -450,8 +450,6 @@ static int exynos_mic_remove(struct platform_device *pdev)
 	pm_runtime_disable(&pdev->dev);
 
 	drm_bridge_remove(&mic->bridge);
-
-	return 0;
 }
 
 static const struct of_device_id exynos_mic_of_match[] = {
@@ -462,7 +460,7 @@ MODULE_DEVICE_TABLE(of, exynos_mic_of_match);
 
 struct platform_driver mic_driver = {
 	.probe		= exynos_mic_probe,
-	.remove		= exynos_mic_remove,
+	.remove_new	= exynos_mic_remove,
 	.driver		= {
 		.name	= "exynos-mic",
 		.pm	= pm_ptr(&exynos_mic_pm_ops),
diff --git a/drivers/gpu/drm/exynos/exynos_drm_rotator.c b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
index ffb327c5139e..5f7516655b08 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_rotator.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
@@ -329,15 +329,13 @@ static int rotator_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int rotator_remove(struct platform_device *pdev)
+static void rotator_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 
 	component_del(dev, &rotator_component_ops);
 	pm_runtime_dont_use_autosuspend(dev);
 	pm_runtime_disable(dev);
-
-	return 0;
 }
 
 static int rotator_runtime_suspend(struct device *dev)
@@ -453,7 +451,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(rotator_pm_ops, rotator_runtime_suspend,
 
 struct platform_driver rotator_driver = {
 	.probe		= rotator_probe,
-	.remove		= rotator_remove,
+	.remove_new	= rotator_remove,
 	.driver		= {
 		.name	= "exynos-rotator",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_scaler.c b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
index f2b8b09a6b4e..392f721f13ab 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_scaler.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
@@ -539,15 +539,13 @@ static int scaler_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int scaler_remove(struct platform_device *pdev)
+static void scaler_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 
 	component_del(dev, &scaler_component_ops);
 	pm_runtime_dont_use_autosuspend(dev);
 	pm_runtime_disable(dev);
-
-	return 0;
 }
 
 static int clk_disable_unprepare_wrapper(struct clk *clk)
@@ -721,7 +719,7 @@ MODULE_DEVICE_TABLE(of, exynos_scaler_match);
 
 struct platform_driver scaler_driver = {
 	.probe		= scaler_probe,
-	.remove		= scaler_remove,
+	.remove_new	= scaler_remove,
 	.driver		= {
 		.name	= "exynos-scaler",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
index f5e1adfcaa51..00382f28748a 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
@@ -462,7 +462,7 @@ static int vidi_probe(struct platform_device *pdev)
 	return component_add(dev, &vidi_component_ops);
 }
 
-static int vidi_remove(struct platform_device *pdev)
+static void vidi_remove(struct platform_device *pdev)
 {
 	struct vidi_context *ctx = platform_get_drvdata(pdev);
 
@@ -472,13 +472,11 @@ static int vidi_remove(struct platform_device *pdev)
 	}
 
 	component_del(&pdev->dev, &vidi_component_ops);
-
-	return 0;
 }
 
 struct platform_driver vidi_driver = {
 	.probe		= vidi_probe,
-	.remove		= vidi_remove,
+	.remove_new	= vidi_remove,
 	.driver		= {
 		.name	= "exynos-drm-vidi",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index f3aaa4ea3e68..6dfc8411ef84 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -2067,7 +2067,7 @@ static int hdmi_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int hdmi_remove(struct platform_device *pdev)
+static void hdmi_remove(struct platform_device *pdev)
 {
 	struct hdmi_context *hdata = platform_get_drvdata(pdev);
 
@@ -2090,8 +2090,6 @@ static int hdmi_remove(struct platform_device *pdev)
 	put_device(&hdata->ddc_adpt->dev);
 
 	mutex_destroy(&hdata->mutex);
-
-	return 0;
 }
 
 static int __maybe_unused exynos_hdmi_suspend(struct device *dev)
@@ -2123,7 +2121,7 @@ static const struct dev_pm_ops exynos_hdmi_pm_ops = {
 
 struct platform_driver hdmi_driver = {
 	.probe		= hdmi_probe,
-	.remove		= hdmi_remove,
+	.remove_new	= hdmi_remove,
 	.driver		= {
 		.name	= "exynos-hdmi",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index b302392ff0d7..6822333fd0e6 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -1258,13 +1258,11 @@ static int mixer_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int mixer_remove(struct platform_device *pdev)
+static void mixer_remove(struct platform_device *pdev)
 {
 	pm_runtime_disable(&pdev->dev);
 
 	component_del(&pdev->dev, &mixer_component_ops);
-
-	return 0;
 }
 
 static int __maybe_unused exynos_mixer_suspend(struct device *dev)
@@ -1338,5 +1336,5 @@ struct platform_driver mixer_driver = {
 		.of_match_table = mixer_match_types,
 	},
 	.probe = mixer_probe,
-	.remove = mixer_remove,
+	.remove_new = mixer_remove,
 };
-- 
2.42.0


_______________________________________________
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] 62+ messages in thread

* [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-11-02 16:56   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Inki Dae, Seung-Woo Kim, Kyungmin Park, David Airlie,
	Daniel Vetter, Krzysztof Kozlowski, Jingoo Han
  Cc: linux-arm-kernel, kernel, linux-samsung-soc, dri-devel, Alim Akhtar

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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert the exynos drivers 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/gpu/drm/exynos/exynos_mixer.c :: 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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/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 ++----
 14 files changed, 28 insertions(+), 55 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
index 4d986077738b..776f2f0b602d 100644
--- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
@@ -862,18 +862,16 @@ static int exynos5433_decon_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int exynos5433_decon_remove(struct platform_device *pdev)
+static void exynos5433_decon_remove(struct platform_device *pdev)
 {
 	pm_runtime_disable(&pdev->dev);
 
 	component_del(&pdev->dev, &decon_component_ops);
-
-	return 0;
 }
 
 struct platform_driver exynos5433_decon_driver = {
 	.probe		= exynos5433_decon_probe,
-	.remove		= exynos5433_decon_remove,
+	.remove_new	= exynos5433_decon_remove,
 	.driver		= {
 		.name	= "exynos5433-decon",
 		.pm	= pm_ptr(&exynos5433_decon_pm_ops),
diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
index 0156a5e94435..0d185c0564b9 100644
--- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
@@ -765,7 +765,7 @@ static int decon_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int decon_remove(struct platform_device *pdev)
+static void decon_remove(struct platform_device *pdev)
 {
 	struct decon_context *ctx = dev_get_drvdata(&pdev->dev);
 
@@ -774,8 +774,6 @@ static int decon_remove(struct platform_device *pdev)
 	iounmap(ctx->regs);
 
 	component_del(&pdev->dev, &decon_component_ops);
-
-	return 0;
 }
 
 static int exynos7_decon_suspend(struct device *dev)
@@ -840,7 +838,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(exynos7_decon_pm_ops, exynos7_decon_suspend,
 
 struct platform_driver decon_driver = {
 	.probe		= decon_probe,
-	.remove		= decon_remove,
+	.remove_new	= decon_remove,
 	.driver		= {
 		.name	= "exynos-decon",
 		.pm	= pm_ptr(&exynos7_decon_pm_ops),
diff --git a/drivers/gpu/drm/exynos/exynos_dp.c b/drivers/gpu/drm/exynos/exynos_dp.c
index 3404ec1367fb..ca31bad6c576 100644
--- a/drivers/gpu/drm/exynos/exynos_dp.c
+++ b/drivers/gpu/drm/exynos/exynos_dp.c
@@ -250,14 +250,12 @@ static int exynos_dp_probe(struct platform_device *pdev)
 	return component_add(&pdev->dev, &exynos_dp_ops);
 }
 
-static int exynos_dp_remove(struct platform_device *pdev)
+static void exynos_dp_remove(struct platform_device *pdev)
 {
 	struct exynos_dp_device *dp = platform_get_drvdata(pdev);
 
 	component_del(&pdev->dev, &exynos_dp_ops);
 	analogix_dp_remove(dp->adp);
-
-	return 0;
 }
 
 static int exynos_dp_suspend(struct device *dev)
@@ -285,7 +283,7 @@ MODULE_DEVICE_TABLE(of, exynos_dp_match);
 
 struct platform_driver dp_driver = {
 	.probe		= exynos_dp_probe,
-	.remove		= exynos_dp_remove,
+	.remove_new	= exynos_dp_remove,
 	.driver		= {
 		.name	= "exynos-dp",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index 8399256cb5c9..a6bff29fc254 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -344,15 +344,14 @@ static int exynos_drm_platform_probe(struct platform_device *pdev)
 					       match);
 }
 
-static int exynos_drm_platform_remove(struct platform_device *pdev)
+static void exynos_drm_platform_remove(struct platform_device *pdev)
 {
 	component_master_del(&pdev->dev, &exynos_drm_ops);
-	return 0;
 }
 
 static struct platform_driver exynos_drm_platform_driver = {
 	.probe	= exynos_drm_platform_probe,
-	.remove	= exynos_drm_platform_remove,
+	.remove_new = exynos_drm_platform_remove,
 	.driver	= {
 		.name	= "exynos-drm",
 		.pm	= &exynos_drm_pm_ops,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimc.c b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
index 8de2714599fc..e81a576de398 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
@@ -1367,7 +1367,7 @@ static int fimc_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int fimc_remove(struct platform_device *pdev)
+static void fimc_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 	struct fimc_context *ctx = get_fimc_context(dev);
@@ -1377,8 +1377,6 @@ static int fimc_remove(struct platform_device *pdev)
 	pm_runtime_disable(dev);
 
 	fimc_put_clocks(ctx);
-
-	return 0;
 }
 
 static int fimc_runtime_suspend(struct device *dev)
@@ -1410,7 +1408,7 @@ MODULE_DEVICE_TABLE(of, fimc_of_match);
 
 struct platform_driver fimc_driver = {
 	.probe		= fimc_probe,
-	.remove		= fimc_remove,
+	.remove_new	= fimc_remove,
 	.driver		= {
 		.of_match_table = fimc_of_match,
 		.name	= "exynos-drm-fimc",
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
index 8dde7b1e9b35..a9f1c5c05894 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
@@ -1277,13 +1277,11 @@ static int fimd_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int fimd_remove(struct platform_device *pdev)
+static void fimd_remove(struct platform_device *pdev)
 {
 	pm_runtime_disable(&pdev->dev);
 
 	component_del(&pdev->dev, &fimd_component_ops);
-
-	return 0;
 }
 
 static int exynos_fimd_suspend(struct device *dev)
@@ -1325,7 +1323,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(exynos_fimd_pm_ops, exynos_fimd_suspend,
 
 struct platform_driver fimd_driver = {
 	.probe		= fimd_probe,
-	.remove		= fimd_remove,
+	.remove_new	= fimd_remove,
 	.driver		= {
 		.name	= "exynos4-fb",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
index 414e585ec7dd..f3138423612e 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
@@ -1530,7 +1530,7 @@ static int g2d_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int g2d_remove(struct platform_device *pdev)
+static void g2d_remove(struct platform_device *pdev)
 {
 	struct g2d_data *g2d = platform_get_drvdata(pdev);
 
@@ -1545,8 +1545,6 @@ static int g2d_remove(struct platform_device *pdev)
 	g2d_fini_cmdlist(g2d);
 	destroy_workqueue(g2d->g2d_workq);
 	kmem_cache_destroy(g2d->runqueue_slab);
-
-	return 0;
 }
 
 static int g2d_suspend(struct device *dev)
@@ -1609,7 +1607,7 @@ MODULE_DEVICE_TABLE(of, exynos_g2d_match);
 
 struct platform_driver g2d_driver = {
 	.probe		= g2d_probe,
-	.remove		= g2d_remove,
+	.remove_new	= g2d_remove,
 	.driver		= {
 		.name	= "exynos-drm-g2d",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
index 34cdabc30b4f..6776d3e037c9 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
@@ -1308,15 +1308,13 @@ static int gsc_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int gsc_remove(struct platform_device *pdev)
+static void gsc_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 
 	component_del(dev, &gsc_component_ops);
 	pm_runtime_dont_use_autosuspend(dev);
 	pm_runtime_disable(dev);
-
-	return 0;
 }
 
 static int __maybe_unused gsc_runtime_suspend(struct device *dev)
@@ -1421,7 +1419,7 @@ MODULE_DEVICE_TABLE(of, exynos_drm_gsc_of_match);
 
 struct platform_driver gsc_driver = {
 	.probe		= gsc_probe,
-	.remove		= gsc_remove,
+	.remove_new	= gsc_remove,
 	.driver		= {
 		.name	= "exynos-drm-gsc",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
index 17bab5b1663f..e2920960180f 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
@@ -442,7 +442,7 @@ static int exynos_mic_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int exynos_mic_remove(struct platform_device *pdev)
+static void exynos_mic_remove(struct platform_device *pdev)
 {
 	struct exynos_mic *mic = platform_get_drvdata(pdev);
 
@@ -450,8 +450,6 @@ static int exynos_mic_remove(struct platform_device *pdev)
 	pm_runtime_disable(&pdev->dev);
 
 	drm_bridge_remove(&mic->bridge);
-
-	return 0;
 }
 
 static const struct of_device_id exynos_mic_of_match[] = {
@@ -462,7 +460,7 @@ MODULE_DEVICE_TABLE(of, exynos_mic_of_match);
 
 struct platform_driver mic_driver = {
 	.probe		= exynos_mic_probe,
-	.remove		= exynos_mic_remove,
+	.remove_new	= exynos_mic_remove,
 	.driver		= {
 		.name	= "exynos-mic",
 		.pm	= pm_ptr(&exynos_mic_pm_ops),
diff --git a/drivers/gpu/drm/exynos/exynos_drm_rotator.c b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
index ffb327c5139e..5f7516655b08 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_rotator.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
@@ -329,15 +329,13 @@ static int rotator_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int rotator_remove(struct platform_device *pdev)
+static void rotator_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 
 	component_del(dev, &rotator_component_ops);
 	pm_runtime_dont_use_autosuspend(dev);
 	pm_runtime_disable(dev);
-
-	return 0;
 }
 
 static int rotator_runtime_suspend(struct device *dev)
@@ -453,7 +451,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(rotator_pm_ops, rotator_runtime_suspend,
 
 struct platform_driver rotator_driver = {
 	.probe		= rotator_probe,
-	.remove		= rotator_remove,
+	.remove_new	= rotator_remove,
 	.driver		= {
 		.name	= "exynos-rotator",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_scaler.c b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
index f2b8b09a6b4e..392f721f13ab 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_scaler.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
@@ -539,15 +539,13 @@ static int scaler_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int scaler_remove(struct platform_device *pdev)
+static void scaler_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 
 	component_del(dev, &scaler_component_ops);
 	pm_runtime_dont_use_autosuspend(dev);
 	pm_runtime_disable(dev);
-
-	return 0;
 }
 
 static int clk_disable_unprepare_wrapper(struct clk *clk)
@@ -721,7 +719,7 @@ MODULE_DEVICE_TABLE(of, exynos_scaler_match);
 
 struct platform_driver scaler_driver = {
 	.probe		= scaler_probe,
-	.remove		= scaler_remove,
+	.remove_new	= scaler_remove,
 	.driver		= {
 		.name	= "exynos-scaler",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
index f5e1adfcaa51..00382f28748a 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
@@ -462,7 +462,7 @@ static int vidi_probe(struct platform_device *pdev)
 	return component_add(dev, &vidi_component_ops);
 }
 
-static int vidi_remove(struct platform_device *pdev)
+static void vidi_remove(struct platform_device *pdev)
 {
 	struct vidi_context *ctx = platform_get_drvdata(pdev);
 
@@ -472,13 +472,11 @@ static int vidi_remove(struct platform_device *pdev)
 	}
 
 	component_del(&pdev->dev, &vidi_component_ops);
-
-	return 0;
 }
 
 struct platform_driver vidi_driver = {
 	.probe		= vidi_probe,
-	.remove		= vidi_remove,
+	.remove_new	= vidi_remove,
 	.driver		= {
 		.name	= "exynos-drm-vidi",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index f3aaa4ea3e68..6dfc8411ef84 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -2067,7 +2067,7 @@ static int hdmi_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int hdmi_remove(struct platform_device *pdev)
+static void hdmi_remove(struct platform_device *pdev)
 {
 	struct hdmi_context *hdata = platform_get_drvdata(pdev);
 
@@ -2090,8 +2090,6 @@ static int hdmi_remove(struct platform_device *pdev)
 	put_device(&hdata->ddc_adpt->dev);
 
 	mutex_destroy(&hdata->mutex);
-
-	return 0;
 }
 
 static int __maybe_unused exynos_hdmi_suspend(struct device *dev)
@@ -2123,7 +2121,7 @@ static const struct dev_pm_ops exynos_hdmi_pm_ops = {
 
 struct platform_driver hdmi_driver = {
 	.probe		= hdmi_probe,
-	.remove		= hdmi_remove,
+	.remove_new	= hdmi_remove,
 	.driver		= {
 		.name	= "exynos-hdmi",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c
index b302392ff0d7..6822333fd0e6 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -1258,13 +1258,11 @@ static int mixer_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int mixer_remove(struct platform_device *pdev)
+static void mixer_remove(struct platform_device *pdev)
 {
 	pm_runtime_disable(&pdev->dev);
 
 	component_del(&pdev->dev, &mixer_component_ops);
-
-	return 0;
 }
 
 static int __maybe_unused exynos_mixer_suspend(struct device *dev)
@@ -1338,5 +1336,5 @@ struct platform_driver mixer_driver = {
 		.of_match_table = mixer_match_types,
 	},
 	.probe = mixer_probe,
-	.remove = mixer_remove,
+	.remove_new = mixer_remove,
 };
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 09/16] drm/imx/dcss: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
@ 2023-11-02 16:56   ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Laurentiu Palcu, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Shawn Guo,
	Sascha Hauer
  Cc: Lucas Stach, Fabio Estevam, NXP Linux Team, dri-devel,
	linux-arm-kernel, kernel, Jyri Sarha

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@suse.de>
Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/imx/dcss/dcss-drv.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/imx/dcss/dcss-drv.c b/drivers/gpu/drm/imx/dcss/dcss-drv.c
index b61cec0cc79d..ad5f29ea8f6a 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-drv.c
+++ b/drivers/gpu/drm/imx/dcss/dcss-drv.c
@@ -80,7 +80,7 @@ static int dcss_drv_platform_probe(struct platform_device *pdev)
 	return err;
 }
 
-static int dcss_drv_platform_remove(struct platform_device *pdev)
+static void dcss_drv_platform_remove(struct platform_device *pdev)
 {
 	struct dcss_drv *mdrv = dev_get_drvdata(&pdev->dev);
 
@@ -88,8 +88,6 @@ static int dcss_drv_platform_remove(struct platform_device *pdev)
 	dcss_dev_destroy(mdrv->dcss);
 
 	kfree(mdrv);
-
-	return 0;
 }
 
 static void dcss_drv_platform_shutdown(struct platform_device *pdev)
@@ -120,7 +118,7 @@ MODULE_DEVICE_TABLE(of, dcss_of_match);
 
 static struct platform_driver dcss_platform_driver = {
 	.probe	= dcss_drv_platform_probe,
-	.remove	= dcss_drv_platform_remove,
+	.remove_new = dcss_drv_platform_remove,
 	.shutdown = dcss_drv_platform_shutdown,
 	.driver	= {
 		.name = "imx-dcss",
-- 
2.42.0


_______________________________________________
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] 62+ messages in thread

* [PATCH v3 09/16] drm/imx/dcss: Convert to platform remove callback returning void
@ 2023-11-02 16:56   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Laurentiu Palcu, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Shawn Guo,
	Sascha Hauer
  Cc: Jyri Sarha, dri-devel, NXP Linux Team, kernel, linux-arm-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.

Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/imx/dcss/dcss-drv.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/imx/dcss/dcss-drv.c b/drivers/gpu/drm/imx/dcss/dcss-drv.c
index b61cec0cc79d..ad5f29ea8f6a 100644
--- a/drivers/gpu/drm/imx/dcss/dcss-drv.c
+++ b/drivers/gpu/drm/imx/dcss/dcss-drv.c
@@ -80,7 +80,7 @@ static int dcss_drv_platform_probe(struct platform_device *pdev)
 	return err;
 }
 
-static int dcss_drv_platform_remove(struct platform_device *pdev)
+static void dcss_drv_platform_remove(struct platform_device *pdev)
 {
 	struct dcss_drv *mdrv = dev_get_drvdata(&pdev->dev);
 
@@ -88,8 +88,6 @@ static int dcss_drv_platform_remove(struct platform_device *pdev)
 	dcss_dev_destroy(mdrv->dcss);
 
 	kfree(mdrv);
-
-	return 0;
 }
 
 static void dcss_drv_platform_shutdown(struct platform_device *pdev)
@@ -120,7 +118,7 @@ MODULE_DEVICE_TABLE(of, dcss_of_match);
 
 static struct platform_driver dcss_platform_driver = {
 	.probe	= dcss_drv_platform_probe,
-	.remove	= dcss_drv_platform_remove,
+	.remove_new = dcss_drv_platform_remove,
 	.shutdown = dcss_drv_platform_shutdown,
 	.driver	= {
 		.name = "imx-dcss",
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 10/16] drm/imx: lcdc: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
@ 2023-11-02 16:56   ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Daniel Vetter, Shawn Guo, Sascha Hauer,
	Philipp Zabel, Steven Price, Liviu Dudau, Thierry Reding,
	Marian Cichy, Rob Herring, Dan Carpenter
  Cc: Fabio Estevam, NXP Linux Team, dri-devel, 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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/gpu/drm/imx/lcdc/imx-lcdc.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/imx/lcdc/imx-lcdc.c b/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
index 22b65f4a0e30..0902983374d0 100644
--- a/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
+++ b/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
@@ -515,14 +515,12 @@ static int imx_lcdc_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int imx_lcdc_remove(struct platform_device *pdev)
+static void imx_lcdc_remove(struct platform_device *pdev)
 {
 	struct drm_device *drm = platform_get_drvdata(pdev);
 
 	drm_dev_unregister(drm);
 	drm_atomic_helper_shutdown(drm);
-
-	return 0;
 }
 
 static void imx_lcdc_shutdown(struct platform_device *pdev)
@@ -536,7 +534,7 @@ static struct platform_driver imx_lcdc_driver = {
 		.of_match_table = imx_lcdc_of_dev_id,
 	},
 	.probe = imx_lcdc_probe,
-	.remove = imx_lcdc_remove,
+	.remove_new = imx_lcdc_remove,
 	.shutdown = imx_lcdc_shutdown,
 };
 module_platform_driver(imx_lcdc_driver);
-- 
2.42.0


_______________________________________________
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] 62+ messages in thread

* [PATCH v3 10/16] drm/imx: lcdc: Convert to platform remove callback returning void
@ 2023-11-02 16:56   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Daniel Vetter, Shawn Guo, Sascha Hauer,
	Philipp Zabel, Steven Price, Liviu Dudau, Thierry Reding,
	Marian Cichy, Rob Herring, Dan Carpenter
  Cc: linux-arm-kernel, kernel, NXP Linux Team, dri-devel

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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/gpu/drm/imx/lcdc/imx-lcdc.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/imx/lcdc/imx-lcdc.c b/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
index 22b65f4a0e30..0902983374d0 100644
--- a/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
+++ b/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
@@ -515,14 +515,12 @@ static int imx_lcdc_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int imx_lcdc_remove(struct platform_device *pdev)
+static void imx_lcdc_remove(struct platform_device *pdev)
 {
 	struct drm_device *drm = platform_get_drvdata(pdev);
 
 	drm_dev_unregister(drm);
 	drm_atomic_helper_shutdown(drm);
-
-	return 0;
 }
 
 static void imx_lcdc_shutdown(struct platform_device *pdev)
@@ -536,7 +534,7 @@ static struct platform_driver imx_lcdc_driver = {
 		.of_match_table = imx_lcdc_of_dev_id,
 	},
 	.probe = imx_lcdc_probe,
-	.remove = imx_lcdc_remove,
+	.remove_new = imx_lcdc_remove,
 	.shutdown = imx_lcdc_shutdown,
 };
 module_platform_driver(imx_lcdc_driver);
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 11/16] drm/kmb: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
                   ` (12 preceding siblings ...)
  (?)
@ 2023-11-02 16:56 ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Anitha Chrisanthus, Edmund Dea, David Airlie, Daniel Vetter
  Cc: Thomas Zimmermann, Jyri Sarha, kernel, dri-devel

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@suse.de>
Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/kmb/kmb_drv.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/kmb/kmb_drv.c b/drivers/gpu/drm/kmb/kmb_drv.c
index 24035b53441c..169b83987ce2 100644
--- a/drivers/gpu/drm/kmb/kmb_drv.c
+++ b/drivers/gpu/drm/kmb/kmb_drv.c
@@ -448,7 +448,7 @@ static const struct drm_driver kmb_driver = {
 	.minor = DRIVER_MINOR,
 };
 
-static int kmb_remove(struct platform_device *pdev)
+static void kmb_remove(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 	struct drm_device *drm = dev_get_drvdata(dev);
@@ -473,7 +473,6 @@ static int kmb_remove(struct platform_device *pdev)
 	/* Unregister DSI host */
 	kmb_dsi_host_unregister(kmb->kmb_dsi);
 	drm_atomic_helper_shutdown(drm);
-	return 0;
 }
 
 static int kmb_probe(struct platform_device *pdev)
@@ -621,7 +620,7 @@ static SIMPLE_DEV_PM_OPS(kmb_pm_ops, kmb_pm_suspend, kmb_pm_resume);
 
 static struct platform_driver kmb_platform_driver = {
 	.probe = kmb_probe,
-	.remove = kmb_remove,
+	.remove_new = kmb_remove,
 	.driver = {
 		.name = "kmb-drm",
 		.pm = &kmb_pm_ops,
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 12/16] drm/mediatek: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
  (?)
@ 2023-11-02 16:56   ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Chun-Kuang Hu, Philipp Zabel, David Airlie, Daniel Vetter,
	Matthias Brugger
  Cc: linux-arm-kernel, linux-mediatek, kernel, dri-devel,
	AngeloGioacchino Del Regno

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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 5 ++---
 drivers/gpu/drm/mediatek/mtk_ethdr.c            | 5 ++---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
index 6bf6367853fb..3fdef3ad4ffd 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
@@ -531,16 +531,15 @@ static int mtk_disp_ovl_adaptor_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
+static void mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
 {
 	component_master_del(&pdev->dev, &mtk_disp_ovl_adaptor_master_ops);
 	pm_runtime_disable(&pdev->dev);
-	return 0;
 }
 
 struct platform_driver mtk_disp_ovl_adaptor_driver = {
 	.probe		= mtk_disp_ovl_adaptor_probe,
-	.remove		= mtk_disp_ovl_adaptor_remove,
+	.remove_new	= mtk_disp_ovl_adaptor_remove,
 	.driver		= {
 		.name	= "mediatek-disp-ovl-adaptor",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/mediatek/mtk_ethdr.c b/drivers/gpu/drm/mediatek/mtk_ethdr.c
index db7ac666ec5e..6a5d0c345aab 100644
--- a/drivers/gpu/drm/mediatek/mtk_ethdr.c
+++ b/drivers/gpu/drm/mediatek/mtk_ethdr.c
@@ -346,10 +346,9 @@ static int mtk_ethdr_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int mtk_ethdr_remove(struct platform_device *pdev)
+static void mtk_ethdr_remove(struct platform_device *pdev)
 {
 	component_del(&pdev->dev, &mtk_ethdr_component_ops);
-	return 0;
 }
 
 static const struct of_device_id mtk_ethdr_driver_dt_match[] = {
@@ -361,7 +360,7 @@ MODULE_DEVICE_TABLE(of, mtk_ethdr_driver_dt_match);
 
 struct platform_driver mtk_ethdr_driver = {
 	.probe		= mtk_ethdr_probe,
-	.remove		= mtk_ethdr_remove,
+	.remove_new	= mtk_ethdr_remove,
 	.driver		= {
 		.name	= "mediatek-disp-ethdr",
 		.owner	= THIS_MODULE,
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 12/16] drm/mediatek: Convert to platform remove callback returning void
@ 2023-11-02 16:56   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Chun-Kuang Hu, Philipp Zabel, David Airlie, Daniel Vetter,
	Matthias Brugger
  Cc: AngeloGioacchino Del Regno, dri-devel, linux-mediatek, kernel,
	linux-arm-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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 5 ++---
 drivers/gpu/drm/mediatek/mtk_ethdr.c            | 5 ++---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
index 6bf6367853fb..3fdef3ad4ffd 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
@@ -531,16 +531,15 @@ static int mtk_disp_ovl_adaptor_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
+static void mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
 {
 	component_master_del(&pdev->dev, &mtk_disp_ovl_adaptor_master_ops);
 	pm_runtime_disable(&pdev->dev);
-	return 0;
 }
 
 struct platform_driver mtk_disp_ovl_adaptor_driver = {
 	.probe		= mtk_disp_ovl_adaptor_probe,
-	.remove		= mtk_disp_ovl_adaptor_remove,
+	.remove_new	= mtk_disp_ovl_adaptor_remove,
 	.driver		= {
 		.name	= "mediatek-disp-ovl-adaptor",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/mediatek/mtk_ethdr.c b/drivers/gpu/drm/mediatek/mtk_ethdr.c
index db7ac666ec5e..6a5d0c345aab 100644
--- a/drivers/gpu/drm/mediatek/mtk_ethdr.c
+++ b/drivers/gpu/drm/mediatek/mtk_ethdr.c
@@ -346,10 +346,9 @@ static int mtk_ethdr_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int mtk_ethdr_remove(struct platform_device *pdev)
+static void mtk_ethdr_remove(struct platform_device *pdev)
 {
 	component_del(&pdev->dev, &mtk_ethdr_component_ops);
-	return 0;
 }
 
 static const struct of_device_id mtk_ethdr_driver_dt_match[] = {
@@ -361,7 +360,7 @@ MODULE_DEVICE_TABLE(of, mtk_ethdr_driver_dt_match);
 
 struct platform_driver mtk_ethdr_driver = {
 	.probe		= mtk_ethdr_probe,
-	.remove		= mtk_ethdr_remove,
+	.remove_new	= mtk_ethdr_remove,
 	.driver		= {
 		.name	= "mediatek-disp-ethdr",
 		.owner	= THIS_MODULE,
-- 
2.42.0



^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 12/16] drm/mediatek: Convert to platform remove callback returning void
@ 2023-11-02 16:56   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Chun-Kuang Hu, Philipp Zabel, David Airlie, Daniel Vetter,
	Matthias Brugger
  Cc: AngeloGioacchino Del Regno, dri-devel, linux-mediatek, kernel,
	linux-arm-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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 5 ++---
 drivers/gpu/drm/mediatek/mtk_ethdr.c            | 5 ++---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
index 6bf6367853fb..3fdef3ad4ffd 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
@@ -531,16 +531,15 @@ static int mtk_disp_ovl_adaptor_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
+static void mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
 {
 	component_master_del(&pdev->dev, &mtk_disp_ovl_adaptor_master_ops);
 	pm_runtime_disable(&pdev->dev);
-	return 0;
 }
 
 struct platform_driver mtk_disp_ovl_adaptor_driver = {
 	.probe		= mtk_disp_ovl_adaptor_probe,
-	.remove		= mtk_disp_ovl_adaptor_remove,
+	.remove_new	= mtk_disp_ovl_adaptor_remove,
 	.driver		= {
 		.name	= "mediatek-disp-ovl-adaptor",
 		.owner	= THIS_MODULE,
diff --git a/drivers/gpu/drm/mediatek/mtk_ethdr.c b/drivers/gpu/drm/mediatek/mtk_ethdr.c
index db7ac666ec5e..6a5d0c345aab 100644
--- a/drivers/gpu/drm/mediatek/mtk_ethdr.c
+++ b/drivers/gpu/drm/mediatek/mtk_ethdr.c
@@ -346,10 +346,9 @@ static int mtk_ethdr_probe(struct platform_device *pdev)
 	return ret;
 }
 
-static int mtk_ethdr_remove(struct platform_device *pdev)
+static void mtk_ethdr_remove(struct platform_device *pdev)
 {
 	component_del(&pdev->dev, &mtk_ethdr_component_ops);
-	return 0;
 }
 
 static const struct of_device_id mtk_ethdr_driver_dt_match[] = {
@@ -361,7 +360,7 @@ MODULE_DEVICE_TABLE(of, mtk_ethdr_driver_dt_match);
 
 struct platform_driver mtk_ethdr_driver = {
 	.probe		= mtk_ethdr_probe,
-	.remove		= mtk_ethdr_remove,
+	.remove_new	= mtk_ethdr_remove,
 	.driver		= {
 		.name	= "mediatek-disp-ethdr",
 		.owner	= THIS_MODULE,
-- 
2.42.0


_______________________________________________
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] 62+ messages in thread

* [PATCH v3 13/16] drm/meson: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
  (?)
@ 2023-11-02 16:56   ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Neil Armstrong, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Kevin Hilman
  Cc: Martin Blumenstingl, dri-devel, kernel, linux-amlogic,
	linux-arm-kernel, Jerome Brunet

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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/gpu/drm/meson/meson_dw_mipi_dsi.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c b/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
index e5fe4e994f43..a6bc1bdb3d0d 100644
--- a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
+++ b/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
@@ -323,13 +323,11 @@ static int meson_dw_mipi_dsi_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int meson_dw_mipi_dsi_remove(struct platform_device *pdev)
+static void meson_dw_mipi_dsi_remove(struct platform_device *pdev)
 {
 	struct meson_dw_mipi_dsi *mipi_dsi = platform_get_drvdata(pdev);
 
 	dw_mipi_dsi_remove(mipi_dsi->dmd);
-
-	return 0;
 }
 
 static const struct of_device_id meson_dw_mipi_dsi_of_table[] = {
@@ -340,7 +338,7 @@ MODULE_DEVICE_TABLE(of, meson_dw_mipi_dsi_of_table);
 
 static struct platform_driver meson_dw_mipi_dsi_platform_driver = {
 	.probe		= meson_dw_mipi_dsi_probe,
-	.remove		= meson_dw_mipi_dsi_remove,
+	.remove_new	= meson_dw_mipi_dsi_remove,
 	.driver		= {
 		.name		= DRIVER_NAME,
 		.of_match_table	= meson_dw_mipi_dsi_of_table,
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 13/16] drm/meson: Convert to platform remove callback returning void
@ 2023-11-02 16:56   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Neil Armstrong, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Kevin Hilman
  Cc: Jerome Brunet, Martin Blumenstingl, dri-devel, linux-amlogic,
	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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/gpu/drm/meson/meson_dw_mipi_dsi.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c b/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
index e5fe4e994f43..a6bc1bdb3d0d 100644
--- a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
+++ b/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
@@ -323,13 +323,11 @@ static int meson_dw_mipi_dsi_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int meson_dw_mipi_dsi_remove(struct platform_device *pdev)
+static void meson_dw_mipi_dsi_remove(struct platform_device *pdev)
 {
 	struct meson_dw_mipi_dsi *mipi_dsi = platform_get_drvdata(pdev);
 
 	dw_mipi_dsi_remove(mipi_dsi->dmd);
-
-	return 0;
 }
 
 static const struct of_device_id meson_dw_mipi_dsi_of_table[] = {
@@ -340,7 +338,7 @@ MODULE_DEVICE_TABLE(of, meson_dw_mipi_dsi_of_table);
 
 static struct platform_driver meson_dw_mipi_dsi_platform_driver = {
 	.probe		= meson_dw_mipi_dsi_probe,
-	.remove		= meson_dw_mipi_dsi_remove,
+	.remove_new	= meson_dw_mipi_dsi_remove,
 	.driver		= {
 		.name		= DRIVER_NAME,
 		.of_match_table	= meson_dw_mipi_dsi_of_table,
-- 
2.42.0


_______________________________________________
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] 62+ messages in thread

* [PATCH v3 13/16] drm/meson: Convert to platform remove callback returning void
@ 2023-11-02 16:56   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Neil Armstrong, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Kevin Hilman
  Cc: Jerome Brunet, Martin Blumenstingl, dri-devel, linux-amlogic,
	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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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/gpu/drm/meson/meson_dw_mipi_dsi.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c b/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
index e5fe4e994f43..a6bc1bdb3d0d 100644
--- a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
+++ b/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c
@@ -323,13 +323,11 @@ static int meson_dw_mipi_dsi_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int meson_dw_mipi_dsi_remove(struct platform_device *pdev)
+static void meson_dw_mipi_dsi_remove(struct platform_device *pdev)
 {
 	struct meson_dw_mipi_dsi *mipi_dsi = platform_get_drvdata(pdev);
 
 	dw_mipi_dsi_remove(mipi_dsi->dmd);
-
-	return 0;
 }
 
 static const struct of_device_id meson_dw_mipi_dsi_of_table[] = {
@@ -340,7 +338,7 @@ MODULE_DEVICE_TABLE(of, meson_dw_mipi_dsi_of_table);
 
 static struct platform_driver meson_dw_mipi_dsi_platform_driver = {
 	.probe		= meson_dw_mipi_dsi_probe,
-	.remove		= meson_dw_mipi_dsi_remove,
+	.remove_new	= meson_dw_mipi_dsi_remove,
 	.driver		= {
 		.name		= DRIVER_NAME,
 		.of_match_table	= meson_dw_mipi_dsi_of_table,
-- 
2.42.0


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 14/16] drm/nouveau: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
@ 2023-11-02 16:56   ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Ben Skeggs, Karol Herbst, Lyude Paul, David Airlie, Daniel Vetter
  Cc: nouveau, Jyri Sarha, kernel, dri-devel, Thomas Zimmermann

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@suse.de>
Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@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


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [Nouveau] [PATCH v3 14/16] drm/nouveau: Convert to platform remove callback returning void
@ 2023-11-02 16:56   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Ben Skeggs, Karol Herbst, Lyude Paul, David Airlie, Daniel Vetter
  Cc: nouveau, Jyri Sarha, kernel, dri-devel

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@suse.de>
Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@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


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 15/16] drm/sprd: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
                   ` (16 preceding siblings ...)
  (?)
@ 2023-11-02 16:56 ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Daniel Vetter, Orson Zhai, Baolin Wang,
	Chunyan Zhang, Sam Ravnborg, Kieran Bingham, Robert Foss,
	Deepak R Varma, Rob Herring, Thierry Reding, Liviu Dudau,
	Steven Price, Jani Nikula
  Cc: Jyri Sarha, kernel, dri-devel

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 the sprd drm drivers from always returning zero in the
remove callback to the void returning variant.

Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/sprd/sprd_dpu.c | 6 ++----
 drivers/gpu/drm/sprd/sprd_drm.c | 5 ++---
 drivers/gpu/drm/sprd/sprd_dsi.c | 6 ++----
 3 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/sprd/sprd_dpu.c b/drivers/gpu/drm/sprd/sprd_dpu.c
index 48183bbd0590..deb3bb96e2a8 100644
--- a/drivers/gpu/drm/sprd/sprd_dpu.c
+++ b/drivers/gpu/drm/sprd/sprd_dpu.c
@@ -859,16 +859,14 @@ static int sprd_dpu_probe(struct platform_device *pdev)
 	return component_add(&pdev->dev, &dpu_component_ops);
 }
 
-static int sprd_dpu_remove(struct platform_device *pdev)
+static void sprd_dpu_remove(struct platform_device *pdev)
 {
 	component_del(&pdev->dev, &dpu_component_ops);
-
-	return 0;
 }
 
 struct platform_driver sprd_dpu_driver = {
 	.probe = sprd_dpu_probe,
-	.remove = sprd_dpu_remove,
+	.remove_new = sprd_dpu_remove,
 	.driver = {
 		.name = "sprd-dpu-drv",
 		.of_match_table = dpu_match_table,
diff --git a/drivers/gpu/drm/sprd/sprd_drm.c b/drivers/gpu/drm/sprd/sprd_drm.c
index 0aa39156f2fa..a74cd0caf645 100644
--- a/drivers/gpu/drm/sprd/sprd_drm.c
+++ b/drivers/gpu/drm/sprd/sprd_drm.c
@@ -138,10 +138,9 @@ static int sprd_drm_probe(struct platform_device *pdev)
 	return drm_of_component_probe(&pdev->dev, component_compare_of, &drm_component_ops);
 }
 
-static int sprd_drm_remove(struct platform_device *pdev)
+static void sprd_drm_remove(struct platform_device *pdev)
 {
 	component_master_del(&pdev->dev, &drm_component_ops);
-	return 0;
 }
 
 static void sprd_drm_shutdown(struct platform_device *pdev)
@@ -164,7 +163,7 @@ MODULE_DEVICE_TABLE(of, drm_match_table);
 
 static struct platform_driver sprd_drm_driver = {
 	.probe = sprd_drm_probe,
-	.remove = sprd_drm_remove,
+	.remove_new = sprd_drm_remove,
 	.shutdown = sprd_drm_shutdown,
 	.driver = {
 		.name = "sprd-drm-drv",
diff --git a/drivers/gpu/drm/sprd/sprd_dsi.c b/drivers/gpu/drm/sprd/sprd_dsi.c
index d7b143a75601..0b69c140eab3 100644
--- a/drivers/gpu/drm/sprd/sprd_dsi.c
+++ b/drivers/gpu/drm/sprd/sprd_dsi.c
@@ -1051,18 +1051,16 @@ static int sprd_dsi_probe(struct platform_device *pdev)
 	return mipi_dsi_host_register(&dsi->host);
 }
 
-static int sprd_dsi_remove(struct platform_device *pdev)
+static void sprd_dsi_remove(struct platform_device *pdev)
 {
 	struct sprd_dsi *dsi = dev_get_drvdata(&pdev->dev);
 
 	mipi_dsi_host_unregister(&dsi->host);
-
-	return 0;
 }
 
 struct platform_driver sprd_dsi_driver = {
 	.probe = sprd_dsi_probe,
-	.remove = sprd_dsi_remove,
+	.remove_new = sprd_dsi_remove,
 	.driver = {
 		.name = "sprd-dsi-drv",
 		.of_match_table = dsi_match_table,
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH v3 16/16] drm/tilcdc: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
                   ` (17 preceding siblings ...)
  (?)
@ 2023-11-02 16:56 ` Uwe Kleine-König
  2023-11-03  7:58   ` Tomi Valkeinen
  -1 siblings, 1 reply; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 16:56 UTC (permalink / raw)
  To: Jyri Sarha, Tomi Valkeinen, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter
  Cc: kernel, dri-devel

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.

There is one error path in tilcdc_pdev_remove() that potentially could
yield a non-zero return code. In this case an error message describing
the failure is emitted now instead of

	remove callback returned a non-zero value. This will be ignored.

before. Otherwise there is no difference. Also note that currently
tilcdc_get_external_components() doesn't return negative values.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/tilcdc/tilcdc_drv.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 8ebd7134ee21..137cd9f62e9f 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
@@ -570,19 +570,18 @@ static int tilcdc_pdev_probe(struct platform_device *pdev)
 						       match);
 }
 
-static int tilcdc_pdev_remove(struct platform_device *pdev)
+static void tilcdc_pdev_remove(struct platform_device *pdev)
 {
 	int ret;
 
 	ret = tilcdc_get_external_components(&pdev->dev, NULL);
 	if (ret < 0)
-		return ret;
+		dev_err(&pdev->dev, "tilcdc_get_external_components() failed (%pe)\n",
+			ERR_PTR(ret));
 	else if (ret == 0)
 		tilcdc_fini(platform_get_drvdata(pdev));
 	else
 		component_master_del(&pdev->dev, &tilcdc_comp_ops);
-
-	return 0;
 }
 
 static void tilcdc_pdev_shutdown(struct platform_device *pdev)
@@ -599,7 +598,7 @@ MODULE_DEVICE_TABLE(of, tilcdc_of_match);
 
 static struct platform_driver tilcdc_platform_driver = {
 	.probe      = tilcdc_pdev_probe,
-	.remove     = tilcdc_pdev_remove,
+	.remove_new = tilcdc_pdev_remove,
 	.shutdown   = tilcdc_pdev_shutdown,
 	.driver     = {
 		.name   = "tilcdc",
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 07/16] drm/etnaviv: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [PATCH v3 07/16] drm/etnaviv: " Uwe Kleine-König
@ 2023-11-02 17:05   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-02 17:05 UTC (permalink / raw)
  To: Lucas Stach, David Airlie, Daniel Vetter
  Cc: Thomas Zimmermann, etnaviv, dri-devel, Christian Gmeiner, kernel,
	Russell King, Jyri Sarha

[-- Attachment #1: Type: text/plain, Size: 1245 bytes --]

Hello,

On Thu, Nov 02, 2023 at 05:56:48PM +0100, 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 the etnaviv drm driver from always returning zero in
> the remove callback to the void returning variant.
> 
> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

I failed to pick up the tag

Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>

that this patch got in v2 at https://lore.kernel.org/dri-devel/CAH9NwWdzVPrZD3Uo04fWXR0Cv=okK+P+njAR81gprCxKqp5icw@mail.gmail.com

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 16/16] drm/tilcdc: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [PATCH v3 16/16] drm/tilcdc: " Uwe Kleine-König
@ 2023-11-03  7:58   ` Tomi Valkeinen
  2023-11-28 16:49     ` Uwe Kleine-König
  2023-11-28 19:54     ` sarha
  0 siblings, 2 replies; 62+ messages in thread
From: Tomi Valkeinen @ 2023-11-03  7:58 UTC (permalink / raw)
  To: Uwe Kleine-König, Jyri Sarha, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter
  Cc: kernel, dri-devel

On 02/11/2023 18:56, 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.
> 
> There is one error path in tilcdc_pdev_remove() that potentially could
> yield a non-zero return code. In this case an error message describing
> the failure is emitted now instead of
> 
> 	remove callback returned a non-zero value. This will be ignored.
> 
> before. Otherwise there is no difference. Also note that currently
> tilcdc_get_external_components() doesn't return negative values.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>   drivers/gpu/drm/tilcdc/tilcdc_drv.c | 9 ++++-----
>   1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> index 8ebd7134ee21..137cd9f62e9f 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> @@ -570,19 +570,18 @@ static int tilcdc_pdev_probe(struct platform_device *pdev)
>   						       match);
>   }
>   
> -static int tilcdc_pdev_remove(struct platform_device *pdev)
> +static void tilcdc_pdev_remove(struct platform_device *pdev)
>   {
>   	int ret;
>   
>   	ret = tilcdc_get_external_components(&pdev->dev, NULL);
>   	if (ret < 0)
> -		return ret;
> +		dev_err(&pdev->dev, "tilcdc_get_external_components() failed (%pe)\n",
> +			ERR_PTR(ret));
>   	else if (ret == 0)
>   		tilcdc_fini(platform_get_drvdata(pdev));
>   	else
>   		component_master_del(&pdev->dev, &tilcdc_comp_ops);
> -
> -	return 0;
>   }
>   
>   static void tilcdc_pdev_shutdown(struct platform_device *pdev)
> @@ -599,7 +598,7 @@ MODULE_DEVICE_TABLE(of, tilcdc_of_match);
>   
>   static struct platform_driver tilcdc_platform_driver = {
>   	.probe      = tilcdc_pdev_probe,
> -	.remove     = tilcdc_pdev_remove,
> +	.remove_new = tilcdc_pdev_remove,
>   	.shutdown   = tilcdc_pdev_shutdown,
>   	.driver     = {
>   		.name   = "tilcdc",

Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

  Tomi


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
  2023-11-02 16:56   ` Uwe Kleine-König
  (?)
  (?)
@ 2023-11-08  4:16   ` Inki Dae
  2023-11-08  7:54       ` Uwe Kleine-König
  -1 siblings, 1 reply; 62+ messages in thread
From: Inki Dae @ 2023-11-08  4:16 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: linux-samsung-soc, kernel, Jingoo Han, Seung-Woo Kim,
	Krzysztof Kozlowski, DRI mailing list, Kyungmin Park,
	Alim Akhtar, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 18512 bytes --]

Hi,

Sorry for late. There was a merge conflict so I fixed it manually and
merged. And seems your patch description is duplicated so dropped
duplicated one.

Thanks,
Inki Dae

2023년 11월 3일 (금) 오전 1:57, Uwe Kleine-König <u.kleine-koenig@pengutronix.de>님이
작성:

> 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 ignored (apart
> from emitting a warning) 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. Eventually after all drivers
> are converted, .remove_new() will be renamed to .remove().
>
> Trivially convert the exynos drivers 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/gpu/drm/exynos/exynos_mixer.c :: 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 ignored (apart
> from emitting a warning) 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. Eventually after all drivers
> are converted, .remove_new() will be renamed to .remove().
>
> 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/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 ++----
>  14 files changed, 28 insertions(+), 55 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
> b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
> index 4d986077738b..776f2f0b602d 100644
> --- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
> +++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c
> @@ -862,18 +862,16 @@ static int exynos5433_decon_probe(struct
> platform_device *pdev)
>         return ret;
>  }
>
> -static int exynos5433_decon_remove(struct platform_device *pdev)
> +static void exynos5433_decon_remove(struct platform_device *pdev)
>  {
>         pm_runtime_disable(&pdev->dev);
>
>         component_del(&pdev->dev, &decon_component_ops);
> -
> -       return 0;
>  }
>
>  struct platform_driver exynos5433_decon_driver = {
>         .probe          = exynos5433_decon_probe,
> -       .remove         = exynos5433_decon_remove,
> +       .remove_new     = exynos5433_decon_remove,
>         .driver         = {
>                 .name   = "exynos5433-decon",
>                 .pm     = pm_ptr(&exynos5433_decon_pm_ops),
> diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> index 0156a5e94435..0d185c0564b9 100644
> --- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> +++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
> @@ -765,7 +765,7 @@ static int decon_probe(struct platform_device *pdev)
>         return ret;
>  }
>
> -static int decon_remove(struct platform_device *pdev)
> +static void decon_remove(struct platform_device *pdev)
>  {
>         struct decon_context *ctx = dev_get_drvdata(&pdev->dev);
>
> @@ -774,8 +774,6 @@ static int decon_remove(struct platform_device *pdev)
>         iounmap(ctx->regs);
>
>         component_del(&pdev->dev, &decon_component_ops);
> -
> -       return 0;
>  }
>
>  static int exynos7_decon_suspend(struct device *dev)
> @@ -840,7 +838,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(exynos7_decon_pm_ops,
> exynos7_decon_suspend,
>
>  struct platform_driver decon_driver = {
>         .probe          = decon_probe,
> -       .remove         = decon_remove,
> +       .remove_new     = decon_remove,
>         .driver         = {
>                 .name   = "exynos-decon",
>                 .pm     = pm_ptr(&exynos7_decon_pm_ops),
> diff --git a/drivers/gpu/drm/exynos/exynos_dp.c
> b/drivers/gpu/drm/exynos/exynos_dp.c
> index 3404ec1367fb..ca31bad6c576 100644
> --- a/drivers/gpu/drm/exynos/exynos_dp.c
> +++ b/drivers/gpu/drm/exynos/exynos_dp.c
> @@ -250,14 +250,12 @@ static int exynos_dp_probe(struct platform_device
> *pdev)
>         return component_add(&pdev->dev, &exynos_dp_ops);
>  }
>
> -static int exynos_dp_remove(struct platform_device *pdev)
> +static void exynos_dp_remove(struct platform_device *pdev)
>  {
>         struct exynos_dp_device *dp = platform_get_drvdata(pdev);
>
>         component_del(&pdev->dev, &exynos_dp_ops);
>         analogix_dp_remove(dp->adp);
> -
> -       return 0;
>  }
>
>  static int exynos_dp_suspend(struct device *dev)
> @@ -285,7 +283,7 @@ MODULE_DEVICE_TABLE(of, exynos_dp_match);
>
>  struct platform_driver dp_driver = {
>         .probe          = exynos_dp_probe,
> -       .remove         = exynos_dp_remove,
> +       .remove_new     = exynos_dp_remove,
>         .driver         = {
>                 .name   = "exynos-dp",
>                 .owner  = THIS_MODULE,
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> index 8399256cb5c9..a6bff29fc254 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> @@ -344,15 +344,14 @@ static int exynos_drm_platform_probe(struct
> platform_device *pdev)
>                                                match);
>  }
>
> -static int exynos_drm_platform_remove(struct platform_device *pdev)
> +static void exynos_drm_platform_remove(struct platform_device *pdev)
>  {
>         component_master_del(&pdev->dev, &exynos_drm_ops);
> -       return 0;
>  }
>
>  static struct platform_driver exynos_drm_platform_driver = {
>         .probe  = exynos_drm_platform_probe,
> -       .remove = exynos_drm_platform_remove,
> +       .remove_new = exynos_drm_platform_remove,
>         .driver = {
>                 .name   = "exynos-drm",
>                 .pm     = &exynos_drm_pm_ops,
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimc.c
> b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
> index 8de2714599fc..e81a576de398 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimc.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
> @@ -1367,7 +1367,7 @@ static int fimc_probe(struct platform_device *pdev)
>         return ret;
>  }
>
> -static int fimc_remove(struct platform_device *pdev)
> +static void fimc_remove(struct platform_device *pdev)
>  {
>         struct device *dev = &pdev->dev;
>         struct fimc_context *ctx = get_fimc_context(dev);
> @@ -1377,8 +1377,6 @@ static int fimc_remove(struct platform_device *pdev)
>         pm_runtime_disable(dev);
>
>         fimc_put_clocks(ctx);
> -
> -       return 0;
>  }
>
>  static int fimc_runtime_suspend(struct device *dev)
> @@ -1410,7 +1408,7 @@ MODULE_DEVICE_TABLE(of, fimc_of_match);
>
>  struct platform_driver fimc_driver = {
>         .probe          = fimc_probe,
> -       .remove         = fimc_remove,
> +       .remove_new     = fimc_remove,
>         .driver         = {
>                 .of_match_table = fimc_of_match,
>                 .name   = "exynos-drm-fimc",
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index 8dde7b1e9b35..a9f1c5c05894 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -1277,13 +1277,11 @@ static int fimd_probe(struct platform_device *pdev)
>         return ret;
>  }
>
> -static int fimd_remove(struct platform_device *pdev)
> +static void fimd_remove(struct platform_device *pdev)
>  {
>         pm_runtime_disable(&pdev->dev);
>
>         component_del(&pdev->dev, &fimd_component_ops);
> -
> -       return 0;
>  }
>
>  static int exynos_fimd_suspend(struct device *dev)
> @@ -1325,7 +1323,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(exynos_fimd_pm_ops,
> exynos_fimd_suspend,
>
>  struct platform_driver fimd_driver = {
>         .probe          = fimd_probe,
> -       .remove         = fimd_remove,
> +       .remove_new     = fimd_remove,
>         .driver         = {
>                 .name   = "exynos4-fb",
>                 .owner  = THIS_MODULE,
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
> b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
> index 414e585ec7dd..f3138423612e 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
> @@ -1530,7 +1530,7 @@ static int g2d_probe(struct platform_device *pdev)
>         return ret;
>  }
>
> -static int g2d_remove(struct platform_device *pdev)
> +static void g2d_remove(struct platform_device *pdev)
>  {
>         struct g2d_data *g2d = platform_get_drvdata(pdev);
>
> @@ -1545,8 +1545,6 @@ static int g2d_remove(struct platform_device *pdev)
>         g2d_fini_cmdlist(g2d);
>         destroy_workqueue(g2d->g2d_workq);
>         kmem_cache_destroy(g2d->runqueue_slab);
> -
> -       return 0;
>  }
>
>  static int g2d_suspend(struct device *dev)
> @@ -1609,7 +1607,7 @@ MODULE_DEVICE_TABLE(of, exynos_g2d_match);
>
>  struct platform_driver g2d_driver = {
>         .probe          = g2d_probe,
> -       .remove         = g2d_remove,
> +       .remove_new     = g2d_remove,
>         .driver         = {
>                 .name   = "exynos-drm-g2d",
>                 .owner  = THIS_MODULE,
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c
> b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
> index 34cdabc30b4f..6776d3e037c9 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c
> @@ -1308,15 +1308,13 @@ static int gsc_probe(struct platform_device *pdev)
>         return ret;
>  }
>
> -static int gsc_remove(struct platform_device *pdev)
> +static void gsc_remove(struct platform_device *pdev)
>  {
>         struct device *dev = &pdev->dev;
>
>         component_del(dev, &gsc_component_ops);
>         pm_runtime_dont_use_autosuspend(dev);
>         pm_runtime_disable(dev);
> -
> -       return 0;
>  }
>
>  static int __maybe_unused gsc_runtime_suspend(struct device *dev)
> @@ -1421,7 +1419,7 @@ MODULE_DEVICE_TABLE(of, exynos_drm_gsc_of_match);
>
>  struct platform_driver gsc_driver = {
>         .probe          = gsc_probe,
> -       .remove         = gsc_remove,
> +       .remove_new     = gsc_remove,
>         .driver         = {
>                 .name   = "exynos-drm-gsc",
>                 .owner  = THIS_MODULE,
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c
> b/drivers/gpu/drm/exynos/exynos_drm_mic.c
> index 17bab5b1663f..e2920960180f 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
> @@ -442,7 +442,7 @@ static int exynos_mic_probe(struct platform_device
> *pdev)
>         return ret;
>  }
>
> -static int exynos_mic_remove(struct platform_device *pdev)
> +static void exynos_mic_remove(struct platform_device *pdev)
>  {
>         struct exynos_mic *mic = platform_get_drvdata(pdev);
>
> @@ -450,8 +450,6 @@ static int exynos_mic_remove(struct platform_device
> *pdev)
>         pm_runtime_disable(&pdev->dev);
>
>         drm_bridge_remove(&mic->bridge);
> -
> -       return 0;
>  }
>
>  static const struct of_device_id exynos_mic_of_match[] = {
> @@ -462,7 +460,7 @@ MODULE_DEVICE_TABLE(of, exynos_mic_of_match);
>
>  struct platform_driver mic_driver = {
>         .probe          = exynos_mic_probe,
> -       .remove         = exynos_mic_remove,
> +       .remove_new     = exynos_mic_remove,
>         .driver         = {
>                 .name   = "exynos-mic",
>                 .pm     = pm_ptr(&exynos_mic_pm_ops),
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_rotator.c
> b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
> index ffb327c5139e..5f7516655b08 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_rotator.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_rotator.c
> @@ -329,15 +329,13 @@ static int rotator_probe(struct platform_device
> *pdev)
>         return ret;
>  }
>
> -static int rotator_remove(struct platform_device *pdev)
> +static void rotator_remove(struct platform_device *pdev)
>  {
>         struct device *dev = &pdev->dev;
>
>         component_del(dev, &rotator_component_ops);
>         pm_runtime_dont_use_autosuspend(dev);
>         pm_runtime_disable(dev);
> -
> -       return 0;
>  }
>
>  static int rotator_runtime_suspend(struct device *dev)
> @@ -453,7 +451,7 @@ static DEFINE_RUNTIME_DEV_PM_OPS(rotator_pm_ops,
> rotator_runtime_suspend,
>
>  struct platform_driver rotator_driver = {
>         .probe          = rotator_probe,
> -       .remove         = rotator_remove,
> +       .remove_new     = rotator_remove,
>         .driver         = {
>                 .name   = "exynos-rotator",
>                 .owner  = THIS_MODULE,
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_scaler.c
> b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
> index f2b8b09a6b4e..392f721f13ab 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_scaler.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_scaler.c
> @@ -539,15 +539,13 @@ static int scaler_probe(struct platform_device *pdev)
>         return ret;
>  }
>
> -static int scaler_remove(struct platform_device *pdev)
> +static void scaler_remove(struct platform_device *pdev)
>  {
>         struct device *dev = &pdev->dev;
>
>         component_del(dev, &scaler_component_ops);
>         pm_runtime_dont_use_autosuspend(dev);
>         pm_runtime_disable(dev);
> -
> -       return 0;
>  }
>
>  static int clk_disable_unprepare_wrapper(struct clk *clk)
> @@ -721,7 +719,7 @@ MODULE_DEVICE_TABLE(of, exynos_scaler_match);
>
>  struct platform_driver scaler_driver = {
>         .probe          = scaler_probe,
> -       .remove         = scaler_remove,
> +       .remove_new     = scaler_remove,
>         .driver         = {
>                 .name   = "exynos-scaler",
>                 .owner  = THIS_MODULE,
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> index f5e1adfcaa51..00382f28748a 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> @@ -462,7 +462,7 @@ static int vidi_probe(struct platform_device *pdev)
>         return component_add(dev, &vidi_component_ops);
>  }
>
> -static int vidi_remove(struct platform_device *pdev)
> +static void vidi_remove(struct platform_device *pdev)
>  {
>         struct vidi_context *ctx = platform_get_drvdata(pdev);
>
> @@ -472,13 +472,11 @@ static int vidi_remove(struct platform_device *pdev)
>         }
>
>         component_del(&pdev->dev, &vidi_component_ops);
> -
> -       return 0;
>  }
>
>  struct platform_driver vidi_driver = {
>         .probe          = vidi_probe,
> -       .remove         = vidi_remove,
> +       .remove_new     = vidi_remove,
>         .driver         = {
>                 .name   = "exynos-drm-vidi",
>                 .owner  = THIS_MODULE,
> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c
> b/drivers/gpu/drm/exynos/exynos_hdmi.c
> index f3aaa4ea3e68..6dfc8411ef84 100644
> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
> @@ -2067,7 +2067,7 @@ static int hdmi_probe(struct platform_device *pdev)
>         return ret;
>  }
>
> -static int hdmi_remove(struct platform_device *pdev)
> +static void hdmi_remove(struct platform_device *pdev)
>  {
>         struct hdmi_context *hdata = platform_get_drvdata(pdev);
>
> @@ -2090,8 +2090,6 @@ static int hdmi_remove(struct platform_device *pdev)
>         put_device(&hdata->ddc_adpt->dev);
>
>         mutex_destroy(&hdata->mutex);
> -
> -       return 0;
>  }
>
>  static int __maybe_unused exynos_hdmi_suspend(struct device *dev)
> @@ -2123,7 +2121,7 @@ static const struct dev_pm_ops exynos_hdmi_pm_ops = {
>
>  struct platform_driver hdmi_driver = {
>         .probe          = hdmi_probe,
> -       .remove         = hdmi_remove,
> +       .remove_new     = hdmi_remove,
>         .driver         = {
>                 .name   = "exynos-hdmi",
>                 .owner  = THIS_MODULE,
> diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c
> b/drivers/gpu/drm/exynos/exynos_mixer.c
> index b302392ff0d7..6822333fd0e6 100644
> --- a/drivers/gpu/drm/exynos/exynos_mixer.c
> +++ b/drivers/gpu/drm/exynos/exynos_mixer.c
> @@ -1258,13 +1258,11 @@ static int mixer_probe(struct platform_device
> *pdev)
>         return ret;
>  }
>
> -static int mixer_remove(struct platform_device *pdev)
> +static void mixer_remove(struct platform_device *pdev)
>  {
>         pm_runtime_disable(&pdev->dev);
>
>         component_del(&pdev->dev, &mixer_component_ops);
> -
> -       return 0;
>  }
>
>  static int __maybe_unused exynos_mixer_suspend(struct device *dev)
> @@ -1338,5 +1336,5 @@ struct platform_driver mixer_driver = {
>                 .of_match_table = mixer_match_types,
>         },
>         .probe = mixer_probe,
> -       .remove = mixer_remove,
> +       .remove_new = mixer_remove,
>  };
> --
> 2.42.0
>
>

[-- Attachment #2: Type: text/html, Size: 21478 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
  2023-11-08  4:16   ` Inki Dae
  2023-11-08  7:54       ` Uwe Kleine-König
@ 2023-11-08  7:54       ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-08  7:54 UTC (permalink / raw)
  To: Inki Dae
  Cc: linux-samsung-soc, kernel, Jingoo Han, Seung-Woo Kim,
	Krzysztof Kozlowski, DRI mailing list, Kyungmin Park,
	Daniel Vetter, Alim Akhtar, David Airlie, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 623 bytes --]

Hello Inki,

On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> Sorry for late. There was a merge conflict so I fixed it manually and
> merged. And seems your patch description is duplicated so dropped
> duplicated one.

Ah. I have a template that generates one patch per driver. I guess this
is the result of using squash instead of fixup while putting all exynos
changes into a single patch.

Thanks for your attention to these details
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-11-08  7:54       ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-08  7:54 UTC (permalink / raw)
  To: Inki Dae
  Cc: linux-samsung-soc, Jingoo Han, Seung-Woo Kim, Kyungmin Park,
	DRI mailing list, Krzysztof Kozlowski, kernel, Alim Akhtar,
	linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 623 bytes --]

Hello Inki,

On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> Sorry for late. There was a merge conflict so I fixed it manually and
> merged. And seems your patch description is duplicated so dropped
> duplicated one.

Ah. I have a template that generates one patch per driver. I guess this
is the result of using squash instead of fixup while putting all exynos
changes into a single patch.

Thanks for your attention to these details
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-11-08  7:54       ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-08  7:54 UTC (permalink / raw)
  To: Inki Dae
  Cc: linux-samsung-soc, kernel, Jingoo Han, Seung-Woo Kim,
	Krzysztof Kozlowski, DRI mailing list, Kyungmin Park,
	Daniel Vetter, Alim Akhtar, David Airlie, linux-arm-kernel


[-- Attachment #1.1: Type: text/plain, Size: 623 bytes --]

Hello Inki,

On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> Sorry for late. There was a merge conflict so I fixed it manually and
> merged. And seems your patch description is duplicated so dropped
> duplicated one.

Ah. I have a template that generates one patch per driver. I guess this
is the result of using squash instead of fixup while putting all exynos
changes into a single patch.

Thanks for your attention to these details
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- 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] 62+ messages in thread

* Re: [PATCH v3 00/16] drm: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
  (?)
  (?)
@ 2023-11-20 12:05   ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-20 12:05 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Sam Ravnborg, Sebastian Reichel, Alexey Brodkin, Russell King,
	Aradhya Bhatia, Javier Martinez Canillas, Zhu Wang, Rob Herring,
	Lucas Stach, Inki Dae, Seung-Woo Kim, Kyungmin Park,
	Krzysztof Kozlowski, Jingoo Han, Laurentiu Palcu, Shawn Guo,
	Sascha Hauer, Philipp Zabel, Steven Price, Liviu Dudau,
	Thierry Reding, Dan Carpenter, Anitha Chrisanthus, Chun-Kuang Hu,
	Matthias Brugger, Kevin Hilman, Karol Herbst, Lyude Paul,
	Orson Zhai, Baolin Wang, Chunyan Zhang, Kieran Bingham,
	Deepak R Varma, Jani Nikula, Jyri Sarha, Tomi Valkeinen
  Cc: Jernej Skrabec, Alim Akhtar, Jonas Karlman, Martin Blumenstingl,
	nouveau, etnaviv, dri-devel, Christian Gmeiner,
	linux-samsung-soc, linux-mediatek, Laurent Pinchart, kernel,
	Russell King, Jerome Brunet, linux-amlogic,
	AngeloGioacchino Del Regno, Fabio Estevam, linux-arm-kernel,
	NXP Linux Team

[-- Attachment #1: Type: text/plain, Size: 1302 bytes --]

[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@pengutronix.de
> 	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [Nouveau] [PATCH v3 00/16] drm: Convert to platform remove callback returning void
@ 2023-11-20 12:05   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-20 12:05 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Sam Ravnborg, Sebastian Reichel, Alexey Brodkin, Russell King,
	Aradhya Bhatia, Javier Martinez Canillas, Zhu Wang, Rob Herring,
	Lucas Stach, Inki Dae, Seung-Woo Kim, Kyungmin Park,
	Krzysztof Kozlowski, Jingoo Han, Laurentiu Palcu, Shawn Guo,
	Sascha Hauer, Philipp Zabel, Steven Price, Liviu Dudau,
	Thierry Reding, Dan Carpenter, Anitha Chrisanthus, Chun-Kuang Hu,
	Matthias Brugger, Kevin Hilman, Karol Herbst, Lyude Paul,
	Orson Zhai, Baolin Wang, Chunyan Zhang, Kieran Bingham,
	Deepak R Varma, Jani Nikula, Jyri Sarha, Tomi Valkeinen
  Cc: linux-samsung-soc, kernel, AngeloGioacchino Del Regno,
	Jonas Karlman, Martin Blumenstingl, nouveau, etnaviv,
	Jernej Skrabec, NXP Linux Team, Christian Gmeiner,
	linux-mediatek, dri-devel, Alim Akhtar, Russell King,
	linux-amlogic, Jerome Brunet, Fabio Estevam, linux-arm-kernel,
	Laurent Pinchart

[-- Attachment #1: Type: text/plain, Size: 1302 bytes --]

[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@pengutronix.de
> 	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 00/16] drm: Convert to platform remove callback returning void
@ 2023-11-20 12:05   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-20 12:05 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Sam Ravnborg, Sebastian Reichel, Alexey Brodkin, Russell King,
	Aradhya Bhatia, Javier Martinez Canillas, Zhu Wang, Rob Herring,
	Lucas Stach, Inki Dae, Seung-Woo Kim, Kyungmin Park,
	Krzysztof Kozlowski, Jingoo Han, Laurentiu Palcu, Shawn Guo,
	Sascha Hauer, Philipp Zabel, Steven Price, Liviu Dudau,
	Thierry Reding, Dan Carpenter, Anitha Chrisanthus, Chun-Kuang Hu,
	Matthias Brugger, Kevin Hilman, Karol Herbst, Lyude Paul,
	Orson Zhai, Baolin Wang, Chunyan Zhang, Kieran Bingham,
	Deepak R Varma, Jani Nikula, Jyri Sarha, Tomi Valkeinen
  Cc: linux-samsung-soc, kernel, AngeloGioacchino Del Regno,
	Jonas Karlman, Martin Blumenstingl, nouveau, etnaviv,
	Jernej Skrabec, NXP Linux Team, Christian Gmeiner,
	linux-mediatek, dri-devel, Alim Akhtar, Russell King,
	linux-amlogic, Jerome Brunet, linux-arm-kernel, Laurent Pinchart

[-- Attachment #1: Type: text/plain, Size: 1302 bytes --]

[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@pengutronix.de
> 	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 00/16] drm: Convert to platform remove callback returning void
@ 2023-11-20 12:05   ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-20 12:05 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Daniel Vetter,
	Sam Ravnborg, Sebastian Reichel, Alexey Brodkin, Russell King,
	Aradhya Bhatia, Javier Martinez Canillas, Zhu Wang, Rob Herring,
	Lucas Stach, Inki Dae, Seung-Woo Kim, Kyungmin Park,
	Krzysztof Kozlowski, Jingoo Han, Laurentiu Palcu, Shawn Guo,
	Sascha Hauer, Philipp Zabel, Steven Price, Liviu Dudau,
	Thierry Reding, Dan Carpenter, Anitha Chrisanthus, Chun-Kuang Hu,
	Matthias Brugger, Kevin Hilman, Karol Herbst, Lyude Paul,
	Orson Zhai, Baolin Wang, Chunyan Zhang, Kieran Bingham,
	Deepak R Varma, Jani Nikula, Jyri Sarha, Tomi Valkeinen
  Cc: Jernej Skrabec, Alim Akhtar, Jonas Karlman, Martin Blumenstingl,
	nouveau, etnaviv, dri-devel, Christian Gmeiner,
	linux-samsung-soc, linux-mediatek, Laurent Pinchart, kernel,
	Russell King, Jerome Brunet, linux-amlogic,
	AngeloGioacchino Del Regno, Fabio Estevam, linux-arm-kernel,
	NXP Linux Team


[-- Attachment #1.1: Type: text/plain, Size: 1302 bytes --]

[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@pengutronix.de
> 	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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/ |

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 00/16] drm: Convert to platform remove callback returning void
  2023-11-20 12:05   ` [Nouveau] " Uwe Kleine-König
  (?)
  (?)
@ 2023-11-21  8:21     ` Thomas Zimmermann
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Zimmermann @ 2023-11-21  8:21 UTC (permalink / raw)
  To: Uwe Kleine-König, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Maarten Lankhorst, Maxime Ripard, David Airlie,
	Daniel Vetter, Sam Ravnborg, Sebastian Reichel, Alexey Brodkin,
	Russell King, Aradhya Bhatia, Javier Martinez Canillas, Zhu Wang,
	Rob Herring, Lucas Stach, Inki Dae, Seung-Woo Kim, Kyungmin Park,
	Krzysztof Kozlowski, Jingoo Han, Laurentiu Palcu, Shawn Guo,
	Sascha Hauer, Philipp Zabel, Steven Price, Liviu Dudau,
	Thierry Reding, Dan Carpenter, Anitha Chrisanthus, Chun-Kuang Hu,
	Matthias Brugger, Kevin Hilman, Karol Herbst, Lyude Paul,
	Orson Zhai, Baolin Wang, Chunyan Zhang, Kieran Bingham,
	Deepak R Varma, Jani Nikula, Jyri Sarha, Tomi Valkeinen
  Cc: linux-samsung-soc, kernel, AngeloGioacchino Del Regno,
	Jonas Karlman, Martin Blumenstingl, nouveau, etnaviv,
	Jernej Skrabec, NXP Linux Team, Christian Gmeiner,
	linux-mediatek, dri-devel, Alim Akhtar, Russell King,
	linux-amlogic, Jerome Brunet, linux-arm-kernel, Laurent Pinchart


[-- Attachment #1.1: Type: text/plain, Size: 1574 bytes --]

Hi

Am 20.11.23 um 13:05 schrieb Uwe Kleine-König:
> [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@pengutronix.de
>> 	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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?

Except for patches 8 and 16, I've pushed this patchset into drm-misc-next.

Best regards
Thomas

> 
> Best regards
> Uwe
>   

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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [Nouveau] [PATCH v3 00/16] drm: Convert to platform remove callback returning void
@ 2023-11-21  8:21     ` Thomas Zimmermann
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Zimmermann @ 2023-11-21  8:21 UTC (permalink / raw)
  To: Uwe Kleine-König, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Maarten Lankhorst, Maxime Ripard, David Airlie,
	Daniel Vetter, Sam Ravnborg, Sebastian Reichel, Alexey Brodkin,
	Russell King, Aradhya Bhatia, Javier Martinez Canillas, Zhu Wang,
	Rob Herring, Lucas Stach, Inki Dae, Seung-Woo Kim, Kyungmin Park,
	Krzysztof Kozlowski, Jingoo Han, Laurentiu Palcu, Shawn Guo,
	Sascha Hauer, Philipp Zabel, Steven Price, Liviu Dudau,
	Thierry Reding, Dan Carpenter, Anitha Chrisanthus, Chun-Kuang Hu,
	Matthias Brugger, Kevin Hilman, Karol Herbst, Lyude Paul,
	Orson Zhai, Baolin Wang, Chunyan Zhang, Kieran Bingham,
	Deepak R Varma, Jani Nikula, Jyri Sarha, Tomi Valkeinen
  Cc: linux-samsung-soc, Laurent Pinchart, Alim Akhtar, Jonas Karlman,
	Martin Blumenstingl, nouveau, dri-devel, etnaviv, Jernej Skrabec,
	Christian Gmeiner, linux-mediatek, NXP Linux Team, kernel,
	Russell King, linux-amlogic, Jerome Brunet, linux-arm-kernel,
	AngeloGioacchino Del Regno


[-- Attachment #1.1: Type: text/plain, Size: 1574 bytes --]

Hi

Am 20.11.23 um 13:05 schrieb Uwe Kleine-König:
> [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@pengutronix.de
>> 	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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?

Except for patches 8 and 16, I've pushed this patchset into drm-misc-next.

Best regards
Thomas

> 
> Best regards
> Uwe
>   

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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 00/16] drm: Convert to platform remove callback returning void
@ 2023-11-21  8:21     ` Thomas Zimmermann
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Zimmermann @ 2023-11-21  8:21 UTC (permalink / raw)
  To: Uwe Kleine-König, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Maarten Lankhorst, Maxime Ripard, David Airlie,
	Daniel Vetter, Sam Ravnborg, Sebastian Reichel, Alexey Brodkin,
	Russell King, Aradhya Bhatia, Javier Martinez Canillas, Zhu Wang,
	Rob Herring, Lucas Stach, Inki Dae, Seung-Woo Kim, Kyungmin Park,
	Krzysztof Kozlowski, Jingoo Han, Laurentiu Palcu, Shawn Guo,
	Sascha Hauer, Philipp Zabel, Steven Price, Liviu Dudau,
	Thierry Reding, Dan Carpenter, Anitha Chrisanthus, Chun-Kuang Hu,
	Matthias Brugger, Kevin Hilman, Karol Herbst, Lyude Paul,
	Orson Zhai, Baolin Wang, Chunyan Zhang, Kieran Bingham,
	Deepak R Varma, Jani Nikula, Jyri Sarha, Tomi Valkeinen
  Cc: linux-samsung-soc, Laurent Pinchart, Alim Akhtar, Jonas Karlman,
	Martin Blumenstingl, nouveau, dri-devel, etnaviv, Jernej Skrabec,
	Christian Gmeiner, linux-mediatek, NXP Linux Team, kernel,
	Russell King, linux-amlogic, Jerome Brunet, linux-arm-kernel,
	AngeloGioacchino Del Regno


[-- Attachment #1.1: Type: text/plain, Size: 1574 bytes --]

Hi

Am 20.11.23 um 13:05 schrieb Uwe Kleine-König:
> [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@pengutronix.de
>> 	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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?

Except for patches 8 and 16, I've pushed this patchset into drm-misc-next.

Best regards
Thomas

> 
> Best regards
> Uwe
>   

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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 00/16] drm: Convert to platform remove callback returning void
@ 2023-11-21  8:21     ` Thomas Zimmermann
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Zimmermann @ 2023-11-21  8:21 UTC (permalink / raw)
  To: Uwe Kleine-König, Andrzej Hajda, Neil Armstrong,
	Robert Foss, Maarten Lankhorst, Maxime Ripard, David Airlie,
	Daniel Vetter, Sam Ravnborg, Sebastian Reichel, Alexey Brodkin,
	Russell King, Aradhya Bhatia, Javier Martinez Canillas, Zhu Wang,
	Rob Herring, Lucas Stach, Inki Dae, Seung-Woo Kim, Kyungmin Park,
	Krzysztof Kozlowski, Jingoo Han, Laurentiu Palcu, Shawn Guo,
	Sascha Hauer, Philipp Zabel, Steven Price, Liviu Dudau,
	Thierry Reding, Dan Carpenter, Anitha Chrisanthus, Chun-Kuang Hu,
	Matthias Brugger, Kevin Hilman, Karol Herbst, Lyude Paul,
	Orson Zhai, Baolin Wang, Chunyan Zhang, Kieran Bingham,
	Deepak R Varma, Jani Nikula, Jyri Sarha, Tomi Valkeinen
  Cc: linux-samsung-soc, kernel, AngeloGioacchino Del Regno,
	Jonas Karlman, Martin Blumenstingl, nouveau, etnaviv,
	Jernej Skrabec, NXP Linux Team, Christian Gmeiner,
	linux-mediatek, dri-devel, Alim Akhtar, Russell King,
	linux-amlogic, Jerome Brunet, linux-arm-kernel, Laurent Pinchart


[-- Attachment #1.1.1: Type: text/plain, Size: 1574 bytes --]

Hi

Am 20.11.23 um 13:05 schrieb Uwe Kleine-König:
> [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@pengutronix.de
>> 	https://lore.kernel.org/dri-devel/20230318190804.234610-1-u.kleine-koenig@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?

Except for patches 8 and 16, I've pushed this patchset into drm-misc-next.

Best regards
Thomas

> 
> Best regards
> Uwe
>   

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

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 16/16] drm/tilcdc: Convert to platform remove callback returning void
  2023-11-03  7:58   ` Tomi Valkeinen
@ 2023-11-28 16:49     ` Uwe Kleine-König
  2023-11-28 19:54     ` sarha
  1 sibling, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-28 16:49 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: Thomas Zimmermann, Jyri Sarha, Maxime Ripard, dri-devel, kernel

[-- Attachment #1: Type: text/plain, Size: 929 bytes --]

On Fri, Nov 03, 2023 at 09:58:07AM +0200, Tomi Valkeinen wrote:
> On 02/11/2023 18:56, 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.
> > [...]
> 
> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

This patch didn't make it into next yet. Who is responsible to pick this
up?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
  2023-11-08  7:54       ` Uwe Kleine-König
  (?)
@ 2023-11-28 16:55         ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-28 16:55 UTC (permalink / raw)
  To: Inki Dae
  Cc: linux-samsung-soc, kernel, Jingoo Han, Seung-Woo Kim,
	Krzysztof Kozlowski, DRI mailing list, Kyungmin Park,
	Alim Akhtar, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 895 bytes --]

Hello Inki,

On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> Hello Inki,
> 
> On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > Sorry for late. There was a merge conflict so I fixed it manually and
> > merged. And seems your patch description is duplicated so dropped
> > duplicated one.
> 
> Ah. I have a template that generates one patch per driver. I guess this
> is the result of using squash instead of fixup while putting all exynos
> changes into a single patch.

This patch didn't make it into next yet even though it's included in
your exynos-drm-next branch at
https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.

Is this on purpose?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-11-28 16:55         ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-28 16:55 UTC (permalink / raw)
  To: Inki Dae
  Cc: linux-samsung-soc, Daniel Vetter, Jingoo Han, Seung-Woo Kim,
	Kyungmin Park, DRI mailing list, Krzysztof Kozlowski, kernel,
	Alim Akhtar, David Airlie, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 895 bytes --]

Hello Inki,

On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> Hello Inki,
> 
> On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > Sorry for late. There was a merge conflict so I fixed it manually and
> > merged. And seems your patch description is duplicated so dropped
> > duplicated one.
> 
> Ah. I have a template that generates one patch per driver. I guess this
> is the result of using squash instead of fixup while putting all exynos
> changes into a single patch.

This patch didn't make it into next yet even though it's included in
your exynos-drm-next branch at
https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.

Is this on purpose?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-11-28 16:55         ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-11-28 16:55 UTC (permalink / raw)
  To: Inki Dae
  Cc: linux-samsung-soc, Daniel Vetter, Jingoo Han, Seung-Woo Kim,
	Kyungmin Park, DRI mailing list, Krzysztof Kozlowski, kernel,
	Alim Akhtar, David Airlie, linux-arm-kernel


[-- Attachment #1.1: Type: text/plain, Size: 895 bytes --]

Hello Inki,

On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> Hello Inki,
> 
> On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > Sorry for late. There was a merge conflict so I fixed it manually and
> > merged. And seems your patch description is duplicated so dropped
> > duplicated one.
> 
> Ah. I have a template that generates one patch per driver. I guess this
> is the result of using squash instead of fixup while putting all exynos
> changes into a single patch.

This patch didn't make it into next yet even though it's included in
your exynos-drm-next branch at
https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.

Is this on purpose?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- 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] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
  2023-11-28 16:55         ` Uwe Kleine-König
  (?)
@ 2023-11-28 17:04           ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 62+ messages in thread
From: Krzysztof Kozlowski @ 2023-11-28 17:04 UTC (permalink / raw)
  To: Uwe Kleine-König, Inki Dae
  Cc: linux-samsung-soc, Daniel Vetter, Jingoo Han, Seung-Woo Kim,
	Kyungmin Park, DRI mailing list, kernel, Alim Akhtar,
	David Airlie, linux-arm-kernel

On 28/11/2023 17:55, Uwe Kleine-König wrote:
> Hello Inki,
> 
> On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
>> Hello Inki,
>>
>> On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
>>> Sorry for late. There was a merge conflict so I fixed it manually and
>>> merged. And seems your patch description is duplicated so dropped
>>> duplicated one.
>>
>> Ah. I have a template that generates one patch per driver. I guess this
>> is the result of using squash instead of fixup while putting all exynos
>> changes into a single patch.
> 
> This patch didn't make it into next yet even though it's included in
> your exynos-drm-next branch at
> https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> 
> Is this on purpose?

Not exactly on purpose but the problem is drm-exynos tree is not in the
next.

Reminds me my talk from Plumbers this year. :)  Slides are here and
serve as reference:
https://lpc.events/event/17/contributions/1498/

Best regards,
Krzysztof


_______________________________________________
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] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-11-28 17:04           ` Krzysztof Kozlowski
  0 siblings, 0 replies; 62+ messages in thread
From: Krzysztof Kozlowski @ 2023-11-28 17:04 UTC (permalink / raw)
  To: Uwe Kleine-König, Inki Dae
  Cc: linux-samsung-soc, kernel, Jingoo Han, Seung-Woo Kim,
	DRI mailing list, Kyungmin Park, Alim Akhtar, linux-arm-kernel

On 28/11/2023 17:55, Uwe Kleine-König wrote:
> Hello Inki,
> 
> On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
>> Hello Inki,
>>
>> On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
>>> Sorry for late. There was a merge conflict so I fixed it manually and
>>> merged. And seems your patch description is duplicated so dropped
>>> duplicated one.
>>
>> Ah. I have a template that generates one patch per driver. I guess this
>> is the result of using squash instead of fixup while putting all exynos
>> changes into a single patch.
> 
> This patch didn't make it into next yet even though it's included in
> your exynos-drm-next branch at
> https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> 
> Is this on purpose?

Not exactly on purpose but the problem is drm-exynos tree is not in the
next.

Reminds me my talk from Plumbers this year. :)  Slides are here and
serve as reference:
https://lpc.events/event/17/contributions/1498/

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-11-28 17:04           ` Krzysztof Kozlowski
  0 siblings, 0 replies; 62+ messages in thread
From: Krzysztof Kozlowski @ 2023-11-28 17:04 UTC (permalink / raw)
  To: Uwe Kleine-König, Inki Dae
  Cc: linux-samsung-soc, Daniel Vetter, Jingoo Han, Seung-Woo Kim,
	Kyungmin Park, DRI mailing list, kernel, Alim Akhtar,
	David Airlie, linux-arm-kernel

On 28/11/2023 17:55, Uwe Kleine-König wrote:
> Hello Inki,
> 
> On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
>> Hello Inki,
>>
>> On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
>>> Sorry for late. There was a merge conflict so I fixed it manually and
>>> merged. And seems your patch description is duplicated so dropped
>>> duplicated one.
>>
>> Ah. I have a template that generates one patch per driver. I guess this
>> is the result of using squash instead of fixup while putting all exynos
>> changes into a single patch.
> 
> This patch didn't make it into next yet even though it's included in
> your exynos-drm-next branch at
> https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> 
> Is this on purpose?

Not exactly on purpose but the problem is drm-exynos tree is not in the
next.

Reminds me my talk from Plumbers this year. :)  Slides are here and
serve as reference:
https://lpc.events/event/17/contributions/1498/

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 16/16] drm/tilcdc: Convert to platform remove callback returning void
  2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
                   ` (19 preceding siblings ...)
  (?)
@ 2023-11-28 19:47 ` jyri.sarha
  -1 siblings, 0 replies; 62+ messages in thread
From: jyri.sarha @ 2023-11-28 19:47 UTC (permalink / raw)
  To: Uwe Kleine-König, Jyri Sarha, Tomi Valkeinen,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Daniel Vetter
  Cc: kernel, dri-devel

November 2, 2023 at 6:56 PM, "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de mailto:u.kleine-koenig@pengutronix.de?to=%22Uwe%20Kleine-K%C3%B6nig%22%20%3Cu.kleine-koenig%40pengutronix.de%3E > 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.
> 
> There is one error path in tilcdc_pdev_remove() that potentially could
> yield a non-zero return code. In this case an error message describing
> the failure is emitted now instead of
> 
>  remove callback returned a non-zero value. This will be ignored.
> 
> before. Otherwise there is no difference. Also note that currently
> tilcdc_get_external_components() doesn't return negative values.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Applied this on top of drm-misc-next, dug up my good old Beaglebone-Black,and tested that everything still works, so:

Tested-by: Jyri Sarha <jyri.sarha@iki.fi>

I'll apply this shortly to drm-misc-next.

Best regards,
Jyri

> ---
> drivers/gpu/drm/tilcdc/tilcdc_drv.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> index 8ebd7134ee21..137cd9f62e9f 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> @@ -570,19 +570,18 @@ static int tilcdc_pdev_probe(struct platform_device *pdev)
>  match);
> }
> 
> -static int tilcdc_pdev_remove(struct platform_device *pdev)
> +static void tilcdc_pdev_remove(struct platform_device *pdev)
> {
>  int ret;
> 
>  ret = tilcdc_get_external_components(&pdev->dev, NULL);
>  if (ret < 0)
> - return ret;
> + dev_err(&pdev->dev, "tilcdc_get_external_components() failed (%pe)\n",
> + ERR_PTR(ret));
>  else if (ret == 0)
>  tilcdc_fini(platform_get_drvdata(pdev));
>  else
>  component_master_del(&pdev->dev, &tilcdc_comp_ops);
> -
> - return 0;
> }
> 
> static void tilcdc_pdev_shutdown(struct platform_device *pdev)
> @@ -599,7 +598,7 @@ MODULE_DEVICE_TABLE(of, tilcdc_of_match);
> 
> static struct platform_driver tilcdc_platform_driver = {
>  .probe = tilcdc_pdev_probe,
> - .remove = tilcdc_pdev_remove,
> + .remove_new = tilcdc_pdev_remove,
>  .shutdown = tilcdc_pdev_shutdown,
>  .driver = {
>  .name = "tilcdc",
> -- 
> 2.42.0
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 16/16] drm/tilcdc: Convert to platform remove callback returning void
  2023-11-03  7:58   ` Tomi Valkeinen
  2023-11-28 16:49     ` Uwe Kleine-König
@ 2023-11-28 19:54     ` sarha
  2023-12-04 17:04       ` Uwe Kleine-König
  1 sibling, 1 reply; 62+ messages in thread
From: sarha @ 2023-11-28 19:54 UTC (permalink / raw)
  To: Uwe Kleine-König, Tomi Valkeinen
  Cc: Thomas Zimmermann, Jyri Sarha, Maxime Ripard, dri-devel, kernel

November 28, 2023 at 6:49 PM, "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de mailto:u.kleine-koenig@pengutronix.de?to=%22Uwe%20Kleine-K%C3%B6nig%22%20%3Cu.kleine-koenig%40pengutronix.de%3E > wrote:

> 
> On Fri, Nov 03, 2023 at 09:58:07AM +0200, Tomi Valkeinen wrote:
> 
> > 
> > On 02/11/2023 18:56, 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.
> > [...]
> > 
> > Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
> > 
> 
> This patch didn't make it into next yet. Who is responsible to pick this
> up?
> 

I expected the whole series had been applied at once. But yes, I can apply this patch.

Best regards,
Jyri

> Best regards
> Uwe
> 
> -- 
> Pengutronix e.K. | Uwe Kleine-König |
> Industrial Linux Solutions | https://www.pengutronix.de/|
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 16/16] drm/tilcdc: Convert to platform remove callback returning void
  2023-11-28 19:54     ` sarha
@ 2023-12-04 17:04       ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-12-04 17:04 UTC (permalink / raw)
  To: sarha
  Cc: Tomi Valkeinen, dri-devel, Maxime Ripard, Thomas Zimmermann,
	Jyri Sarha, kernel

[-- Attachment #1: Type: text/plain, Size: 1655 bytes --]

On Tue, Nov 28, 2023 at 07:54:31PM +0000, sarha@kapsi.fi wrote:
> November 28, 2023 at 6:49 PM, "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de mailto:u.kleine-koenig@pengutronix.de?to=%22Uwe%20Kleine-K%C3%B6nig%22%20%3Cu.kleine-koenig%40pengutronix.de%3E > wrote:
> 
> > 
> > On Fri, Nov 03, 2023 at 09:58:07AM +0200, Tomi Valkeinen wrote:
> > 
> > > 
> > > On 02/11/2023 18:56, 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.
> > > [...]
> > > 
> > > Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
> > > 
> > 
> > This patch didn't make it into next yet. Who is responsible to pick this
> > up?
> > 
> 
> I expected the whole series had been applied at once. But yes, I can apply this patch.

Thanks.

Thomas wrote in
https://lore.kernel.org/dri-devel/250b5d51-93f8-4d8c-8507-0c47adbf7237@suse.de:

	Except for patches 8 and 16, I've pushed this patchset into drm-misc-next.

. I understand he skipped patch 8, but for patch 16 I guess that's just
an oversight.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* RE: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
  2023-11-28 16:55         ` Uwe Kleine-König
  (?)
@ 2023-12-07  2:37           ` 대인기/Tizen Platform Lab(SR)/삼성전자
  -1 siblings, 0 replies; 62+ messages in thread
From: 대인기/Tizen Platform Lab(SR)/삼성전자 @ 2023-12-07  2:37 UTC (permalink / raw)
  To: 'Uwe Kleine-König', 'Inki Dae'
  Cc: linux-samsung-soc, kernel, 'Jingoo Han',
	'Seung-Woo Kim', 'Krzysztof Kozlowski',
	'DRI mailing list', 'Kyungmin Park',
	'Alim Akhtar',
	linux-arm-kernel

Hello Uwe Kleine-König,

> -----Original Message-----
> From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> Sent: Wednesday, November 29, 2023 1:55 AM
> To: Inki Dae <daeinki@gmail.com>
> Cc: linux-samsung-soc@vger.kernel.org; Daniel Vetter <daniel@ffwll.ch>;
> Jingoo Han <jingoohan1@gmail.com>; Seung-Woo Kim <sw0312.kim@samsung.com>;
> Kyungmin Park <kyungmin.park@samsung.com>; DRI mailing list <dri-
> devel@lists.freedesktop.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org>; kernel@pengutronix.de; Alim Akhtar
> <alim.akhtar@samsung.com>; David Airlie <airlied@gmail.com>; linux-arm-
> kernel@lists.infradead.org
> Subject: Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove
> callback returning void
> 
> Hello Inki,
> 
> On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> > Hello Inki,
> >
> > On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > > Sorry for late. There was a merge conflict so I fixed it manually and
> > > merged. And seems your patch description is duplicated so dropped
> > > duplicated one.
> >
> > Ah. I have a template that generates one patch per driver. I guess this
> > is the result of using squash instead of fixup while putting all exynos
> > changes into a single patch.
> 
> This patch didn't make it into next yet even though it's included in
> your exynos-drm-next branch at
> https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> 
> Is this on purpose?

drm-exynos tree is not included in the next tree. It was previously included, but it has been removed. drm-exynos tree is merged into the mainline through the drm-next tree, but when the drm-next is synchronized to the next tree, a conflict occurred between the exynos-drm tree and the drm-next tree. Therefore, I had requested that drm-exynos tree be removed from the next. Perhaps I was inexperienced in managing the git tree at that time. :)

Thanks,
Inki Dae

> 
> Best regards
> Uwe
> 
> --
> Pengutronix e.K.                           | Uwe Kleine-König            |
> Industrial Linux Solutions                 |
> https://protect2.fireeye.com/v1/url?k=421afdc5-23671746-421b768a-
> 74fe48600158-d04d6f7cf9d099c0&q=1&e=0938fb20-be8e-4a27-af6c-
> 9e745ec738c6&u=https%3A%2F%2Fwww.pengutronix.de%2F |



^ permalink raw reply	[flat|nested] 62+ messages in thread

* RE: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-12-07  2:37           ` 대인기/Tizen Platform Lab(SR)/삼성전자
  0 siblings, 0 replies; 62+ messages in thread
From: 대인기/Tizen Platform Lab(SR)/삼성전자 @ 2023-12-07  2:37 UTC (permalink / raw)
  To: 'Uwe Kleine-König', 'Inki Dae'
  Cc: linux-samsung-soc, 'Daniel Vetter', 'Jingoo Han',
	'Seung-Woo Kim', 'Kyungmin Park',
	'DRI mailing list', 'Krzysztof Kozlowski',
	kernel, 'Alim Akhtar', 'David Airlie',
	linux-arm-kernel

Hello Uwe Kleine-König,

> -----Original Message-----
> From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> Sent: Wednesday, November 29, 2023 1:55 AM
> To: Inki Dae <daeinki@gmail.com>
> Cc: linux-samsung-soc@vger.kernel.org; Daniel Vetter <daniel@ffwll.ch>;
> Jingoo Han <jingoohan1@gmail.com>; Seung-Woo Kim <sw0312.kim@samsung.com>;
> Kyungmin Park <kyungmin.park@samsung.com>; DRI mailing list <dri-
> devel@lists.freedesktop.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org>; kernel@pengutronix.de; Alim Akhtar
> <alim.akhtar@samsung.com>; David Airlie <airlied@gmail.com>; linux-arm-
> kernel@lists.infradead.org
> Subject: Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove
> callback returning void
> 
> Hello Inki,
> 
> On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> > Hello Inki,
> >
> > On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > > Sorry for late. There was a merge conflict so I fixed it manually and
> > > merged. And seems your patch description is duplicated so dropped
> > > duplicated one.
> >
> > Ah. I have a template that generates one patch per driver. I guess this
> > is the result of using squash instead of fixup while putting all exynos
> > changes into a single patch.
> 
> This patch didn't make it into next yet even though it's included in
> your exynos-drm-next branch at
> https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> 
> Is this on purpose?

drm-exynos tree is not included in the next tree. It was previously included, but it has been removed. drm-exynos tree is merged into the mainline through the drm-next tree, but when the drm-next is synchronized to the next tree, a conflict occurred between the exynos-drm tree and the drm-next tree. Therefore, I had requested that drm-exynos tree be removed from the next. Perhaps I was inexperienced in managing the git tree at that time. :)

Thanks,
Inki Dae

> 
> Best regards
> Uwe
> 
> --
> Pengutronix e.K.                           | Uwe Kleine-König            |
> Industrial Linux Solutions                 |
> https://protect2.fireeye.com/v1/url?k=421afdc5-23671746-421b768a-
> 74fe48600158-d04d6f7cf9d099c0&q=1&e=0938fb20-be8e-4a27-af6c-
> 9e745ec738c6&u=https%3A%2F%2Fwww.pengutronix.de%2F |



^ permalink raw reply	[flat|nested] 62+ messages in thread

* RE: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-12-07  2:37           ` 대인기/Tizen Platform Lab(SR)/삼성전자
  0 siblings, 0 replies; 62+ messages in thread
From: 대인기/Tizen Platform Lab(SR)/삼성전자 @ 2023-12-07  2:37 UTC (permalink / raw)
  To: 'Uwe Kleine-König', 'Inki Dae'
  Cc: linux-samsung-soc, 'Daniel Vetter', 'Jingoo Han',
	'Seung-Woo Kim', 'Kyungmin Park',
	'DRI mailing list', 'Krzysztof Kozlowski',
	kernel, 'Alim Akhtar', 'David Airlie',
	linux-arm-kernel

Hello Uwe Kleine-König,

> -----Original Message-----
> From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> Sent: Wednesday, November 29, 2023 1:55 AM
> To: Inki Dae <daeinki@gmail.com>
> Cc: linux-samsung-soc@vger.kernel.org; Daniel Vetter <daniel@ffwll.ch>;
> Jingoo Han <jingoohan1@gmail.com>; Seung-Woo Kim <sw0312.kim@samsung.com>;
> Kyungmin Park <kyungmin.park@samsung.com>; DRI mailing list <dri-
> devel@lists.freedesktop.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org>; kernel@pengutronix.de; Alim Akhtar
> <alim.akhtar@samsung.com>; David Airlie <airlied@gmail.com>; linux-arm-
> kernel@lists.infradead.org
> Subject: Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove
> callback returning void
> 
> Hello Inki,
> 
> On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> > Hello Inki,
> >
> > On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > > Sorry for late. There was a merge conflict so I fixed it manually and
> > > merged. And seems your patch description is duplicated so dropped
> > > duplicated one.
> >
> > Ah. I have a template that generates one patch per driver. I guess this
> > is the result of using squash instead of fixup while putting all exynos
> > changes into a single patch.
> 
> This patch didn't make it into next yet even though it's included in
> your exynos-drm-next branch at
> https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> 
> Is this on purpose?

drm-exynos tree is not included in the next tree. It was previously included, but it has been removed. drm-exynos tree is merged into the mainline through the drm-next tree, but when the drm-next is synchronized to the next tree, a conflict occurred between the exynos-drm tree and the drm-next tree. Therefore, I had requested that drm-exynos tree be removed from the next. Perhaps I was inexperienced in managing the git tree at that time. :)

Thanks,
Inki Dae

> 
> Best regards
> Uwe
> 
> --
> Pengutronix e.K.                           | Uwe Kleine-König            |
> Industrial Linux Solutions                 |
> https://protect2.fireeye.com/v1/url?k=421afdc5-23671746-421b768a-
> 74fe48600158-d04d6f7cf9d099c0&q=1&e=0938fb20-be8e-4a27-af6c-
> 9e745ec738c6&u=https%3A%2F%2Fwww.pengutronix.de%2F |



_______________________________________________
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] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
  2023-12-07  2:37           ` 대인기/Tizen Platform Lab(SR)/삼성전자
  (?)
@ 2023-12-07  8:03             ` Uwe Kleine-König
  -1 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-12-07  8:03 UTC (permalink / raw)
  To: 대인기/Tizen Platform
	Lab(SR)/삼성전자
  Cc: linux-samsung-soc, 'Jingoo Han', 'Seung-Woo Kim',
	'Kyungmin Park', 'DRI mailing list',
	'Krzysztof Kozlowski', kernel, 'Alim Akhtar',
	linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 2794 bytes --]

Hello Inki,

On Thu, Dec 07, 2023 at 11:37:44AM +0900, 대인기/Tizen Platform Lab(SR)/삼성전자 wrote:
> Hello Uwe Kleine-König,
> 
> > -----Original Message-----
> > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > Sent: Wednesday, November 29, 2023 1:55 AM
> > To: Inki Dae <daeinki@gmail.com>
> > Cc: linux-samsung-soc@vger.kernel.org; Daniel Vetter <daniel@ffwll.ch>;
> > Jingoo Han <jingoohan1@gmail.com>; Seung-Woo Kim <sw0312.kim@samsung.com>;
> > Kyungmin Park <kyungmin.park@samsung.com>; DRI mailing list <dri-
> > devel@lists.freedesktop.org>; Krzysztof Kozlowski
> > <krzysztof.kozlowski@linaro.org>; kernel@pengutronix.de; Alim Akhtar
> > <alim.akhtar@samsung.com>; David Airlie <airlied@gmail.com>; linux-arm-
> > kernel@lists.infradead.org
> > Subject: Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove
> > callback returning void
> > 
> > Hello Inki,
> > 
> > On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> > > Hello Inki,
> > >
> > > On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > > > Sorry for late. There was a merge conflict so I fixed it manually and
> > > > merged. And seems your patch description is duplicated so dropped
> > > > duplicated one.
> > >
> > > Ah. I have a template that generates one patch per driver. I guess this
> > > is the result of using squash instead of fixup while putting all exynos
> > > changes into a single patch.
> > 
> > This patch didn't make it into next yet even though it's included in
> > your exynos-drm-next branch at
> > https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> > 
> > Is this on purpose?
> 
> drm-exynos tree is not included in the next tree. It was previously
> included, but it has been removed. drm-exynos tree is merged into the
> mainline through the drm-next tree, but when the drm-next is
> synchronized to the next tree, a conflict occurred between the
> exynos-drm tree and the drm-next tree. Therefore, I had requested that
> drm-exynos tree be removed from the next. Perhaps I was inexperienced
> in managing the git tree at that time. :)

That sounds more like a reason to have your tree in next. One of the
core motivations of next is to find inter-tree conflicts early. If such
a conflict occurs and you only notice it when it's time to send your PR
to drm-next (or even later) the pressure to fix the problem is higher.

Also for patch contributors it's nice to have a "complete" next, their
tests are more expressive then.

So I want to encourage you to readd your tree to next.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-12-07  8:03             ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-12-07  8:03 UTC (permalink / raw)
  To: 대인기/Tizen Platform
	Lab(SR)/삼성전자
  Cc: 'Inki Dae',
	linux-samsung-soc, kernel, 'Jingoo Han',
	'Seung-Woo Kim', 'Krzysztof Kozlowski',
	'DRI mailing list', 'Kyungmin Park',
	'Daniel Vetter', 'Alim Akhtar',
	'David Airlie',
	linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 2794 bytes --]

Hello Inki,

On Thu, Dec 07, 2023 at 11:37:44AM +0900, 대인기/Tizen Platform Lab(SR)/삼성전자 wrote:
> Hello Uwe Kleine-König,
> 
> > -----Original Message-----
> > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > Sent: Wednesday, November 29, 2023 1:55 AM
> > To: Inki Dae <daeinki@gmail.com>
> > Cc: linux-samsung-soc@vger.kernel.org; Daniel Vetter <daniel@ffwll.ch>;
> > Jingoo Han <jingoohan1@gmail.com>; Seung-Woo Kim <sw0312.kim@samsung.com>;
> > Kyungmin Park <kyungmin.park@samsung.com>; DRI mailing list <dri-
> > devel@lists.freedesktop.org>; Krzysztof Kozlowski
> > <krzysztof.kozlowski@linaro.org>; kernel@pengutronix.de; Alim Akhtar
> > <alim.akhtar@samsung.com>; David Airlie <airlied@gmail.com>; linux-arm-
> > kernel@lists.infradead.org
> > Subject: Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove
> > callback returning void
> > 
> > Hello Inki,
> > 
> > On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> > > Hello Inki,
> > >
> > > On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > > > Sorry for late. There was a merge conflict so I fixed it manually and
> > > > merged. And seems your patch description is duplicated so dropped
> > > > duplicated one.
> > >
> > > Ah. I have a template that generates one patch per driver. I guess this
> > > is the result of using squash instead of fixup while putting all exynos
> > > changes into a single patch.
> > 
> > This patch didn't make it into next yet even though it's included in
> > your exynos-drm-next branch at
> > https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> > 
> > Is this on purpose?
> 
> drm-exynos tree is not included in the next tree. It was previously
> included, but it has been removed. drm-exynos tree is merged into the
> mainline through the drm-next tree, but when the drm-next is
> synchronized to the next tree, a conflict occurred between the
> exynos-drm tree and the drm-next tree. Therefore, I had requested that
> drm-exynos tree be removed from the next. Perhaps I was inexperienced
> in managing the git tree at that time. :)

That sounds more like a reason to have your tree in next. One of the
core motivations of next is to find inter-tree conflicts early. If such
a conflict occurs and you only notice it when it's time to send your PR
to drm-next (or even later) the pressure to fix the problem is higher.

Also for patch contributors it's nice to have a "complete" next, their
tests are more expressive then.

So I want to encourage you to readd your tree to next.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-12-07  8:03             ` Uwe Kleine-König
  0 siblings, 0 replies; 62+ messages in thread
From: Uwe Kleine-König @ 2023-12-07  8:03 UTC (permalink / raw)
  To: 대인기/Tizen Platform
	Lab(SR)/삼성전자
  Cc: 'Inki Dae',
	linux-samsung-soc, kernel, 'Jingoo Han',
	'Seung-Woo Kim', 'Krzysztof Kozlowski',
	'DRI mailing list', 'Kyungmin Park',
	'Daniel Vetter', 'Alim Akhtar',
	'David Airlie',
	linux-arm-kernel


[-- Attachment #1.1: Type: text/plain, Size: 2794 bytes --]

Hello Inki,

On Thu, Dec 07, 2023 at 11:37:44AM +0900, 대인기/Tizen Platform Lab(SR)/삼성전자 wrote:
> Hello Uwe Kleine-König,
> 
> > -----Original Message-----
> > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > Sent: Wednesday, November 29, 2023 1:55 AM
> > To: Inki Dae <daeinki@gmail.com>
> > Cc: linux-samsung-soc@vger.kernel.org; Daniel Vetter <daniel@ffwll.ch>;
> > Jingoo Han <jingoohan1@gmail.com>; Seung-Woo Kim <sw0312.kim@samsung.com>;
> > Kyungmin Park <kyungmin.park@samsung.com>; DRI mailing list <dri-
> > devel@lists.freedesktop.org>; Krzysztof Kozlowski
> > <krzysztof.kozlowski@linaro.org>; kernel@pengutronix.de; Alim Akhtar
> > <alim.akhtar@samsung.com>; David Airlie <airlied@gmail.com>; linux-arm-
> > kernel@lists.infradead.org
> > Subject: Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove
> > callback returning void
> > 
> > Hello Inki,
> > 
> > On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> > > Hello Inki,
> > >
> > > On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > > > Sorry for late. There was a merge conflict so I fixed it manually and
> > > > merged. And seems your patch description is duplicated so dropped
> > > > duplicated one.
> > >
> > > Ah. I have a template that generates one patch per driver. I guess this
> > > is the result of using squash instead of fixup while putting all exynos
> > > changes into a single patch.
> > 
> > This patch didn't make it into next yet even though it's included in
> > your exynos-drm-next branch at
> > https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> > 
> > Is this on purpose?
> 
> drm-exynos tree is not included in the next tree. It was previously
> included, but it has been removed. drm-exynos tree is merged into the
> mainline through the drm-next tree, but when the drm-next is
> synchronized to the next tree, a conflict occurred between the
> exynos-drm tree and the drm-next tree. Therefore, I had requested that
> drm-exynos tree be removed from the next. Perhaps I was inexperienced
> in managing the git tree at that time. :)

That sounds more like a reason to have your tree in next. One of the
core motivations of next is to find inter-tree conflicts early. If such
a conflict occurs and you only notice it when it's time to send your PR
to drm-next (or even later) the pressure to fix the problem is higher.

Also for patch contributors it's nice to have a "complete" next, their
tests are more expressive then.

So I want to encourage you to readd your tree to next.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- 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] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
  2023-12-07  8:03             ` Uwe Kleine-König
  (?)
@ 2023-12-12  5:38               ` Inki Dae
  -1 siblings, 0 replies; 62+ messages in thread
From: Inki Dae @ 2023-12-12  5:38 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: linux-samsung-soc, kernel, Jingoo Han, Seung-Woo Kim,
	Krzysztof Kozlowski, DRI mailing list, Kyungmin Park,
	Daniel Vetter, Alim Akhtar, David Airlie, linux-arm-kernel

Hello Uwe Kleine-König,

2023년 12월 7일 (목) 오후 5:03, Uwe Kleine-König
<u.kleine-koenig@pengutronix.de>님이 작성:
>
> Hello Inki,
>
> On Thu, Dec 07, 2023 at 11:37:44AM +0900, 대인기/Tizen Platform Lab(SR)/삼성전자 wrote:
> > Hello Uwe Kleine-König,
> >
> > > -----Original Message-----
> > > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > > Sent: Wednesday, November 29, 2023 1:55 AM
> > > To: Inki Dae <daeinki@gmail.com>
> > > Cc: linux-samsung-soc@vger.kernel.org; Daniel Vetter <daniel@ffwll.ch>;
> > > Jingoo Han <jingoohan1@gmail.com>; Seung-Woo Kim <sw0312.kim@samsung.com>;
> > > Kyungmin Park <kyungmin.park@samsung.com>; DRI mailing list <dri-
> > > devel@lists.freedesktop.org>; Krzysztof Kozlowski
> > > <krzysztof.kozlowski@linaro.org>; kernel@pengutronix.de; Alim Akhtar
> > > <alim.akhtar@samsung.com>; David Airlie <airlied@gmail.com>; linux-arm-
> > > kernel@lists.infradead.org
> > > Subject: Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove
> > > callback returning void
> > >
> > > Hello Inki,
> > >
> > > On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> > > > Hello Inki,
> > > >
> > > > On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > > > > Sorry for late. There was a merge conflict so I fixed it manually and
> > > > > merged. And seems your patch description is duplicated so dropped
> > > > > duplicated one.
> > > >
> > > > Ah. I have a template that generates one patch per driver. I guess this
> > > > is the result of using squash instead of fixup while putting all exynos
> > > > changes into a single patch.
> > >
> > > This patch didn't make it into next yet even though it's included in
> > > your exynos-drm-next branch at
> > > https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> > >
> > > Is this on purpose?
> >
> > drm-exynos tree is not included in the next tree. It was previously
> > included, but it has been removed. drm-exynos tree is merged into the
> > mainline through the drm-next tree, but when the drm-next is
> > synchronized to the next tree, a conflict occurred between the
> > exynos-drm tree and the drm-next tree. Therefore, I had requested that
> > drm-exynos tree be removed from the next. Perhaps I was inexperienced
> > in managing the git tree at that time. :)
>
> That sounds more like a reason to have your tree in next. One of the
> core motivations of next is to find inter-tree conflicts early. If such
> a conflict occurs and you only notice it when it's time to send your PR
> to drm-next (or even later) the pressure to fix the problem is higher.
>
> Also for patch contributors it's nice to have a "complete" next, their
> tests are more expressive then.
>
> So I want to encourage you to readd your tree to next.

Thanks for your feedback. Requested to Stephen Rothwell. :)

Thanks,
Inki Dae

>
> Best regards
> Uwe
>
> --
> Pengutronix e.K.                           | Uwe Kleine-König            |
> Industrial Linux Solutions                 | https://www.pengutronix.de/ |

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-12-12  5:38               ` Inki Dae
  0 siblings, 0 replies; 62+ messages in thread
From: Inki Dae @ 2023-12-12  5:38 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: linux-samsung-soc, kernel, Jingoo Han, Seung-Woo Kim,
	Krzysztof Kozlowski, DRI mailing list, Kyungmin Park,
	Daniel Vetter, Alim Akhtar, David Airlie, linux-arm-kernel

Hello Uwe Kleine-König,

2023년 12월 7일 (목) 오후 5:03, Uwe Kleine-König
<u.kleine-koenig@pengutronix.de>님이 작성:
>
> Hello Inki,
>
> On Thu, Dec 07, 2023 at 11:37:44AM +0900, 대인기/Tizen Platform Lab(SR)/삼성전자 wrote:
> > Hello Uwe Kleine-König,
> >
> > > -----Original Message-----
> > > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > > Sent: Wednesday, November 29, 2023 1:55 AM
> > > To: Inki Dae <daeinki@gmail.com>
> > > Cc: linux-samsung-soc@vger.kernel.org; Daniel Vetter <daniel@ffwll.ch>;
> > > Jingoo Han <jingoohan1@gmail.com>; Seung-Woo Kim <sw0312.kim@samsung.com>;
> > > Kyungmin Park <kyungmin.park@samsung.com>; DRI mailing list <dri-
> > > devel@lists.freedesktop.org>; Krzysztof Kozlowski
> > > <krzysztof.kozlowski@linaro.org>; kernel@pengutronix.de; Alim Akhtar
> > > <alim.akhtar@samsung.com>; David Airlie <airlied@gmail.com>; linux-arm-
> > > kernel@lists.infradead.org
> > > Subject: Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove
> > > callback returning void
> > >
> > > Hello Inki,
> > >
> > > On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> > > > Hello Inki,
> > > >
> > > > On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > > > > Sorry for late. There was a merge conflict so I fixed it manually and
> > > > > merged. And seems your patch description is duplicated so dropped
> > > > > duplicated one.
> > > >
> > > > Ah. I have a template that generates one patch per driver. I guess this
> > > > is the result of using squash instead of fixup while putting all exynos
> > > > changes into a single patch.
> > >
> > > This patch didn't make it into next yet even though it's included in
> > > your exynos-drm-next branch at
> > > https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> > >
> > > Is this on purpose?
> >
> > drm-exynos tree is not included in the next tree. It was previously
> > included, but it has been removed. drm-exynos tree is merged into the
> > mainline through the drm-next tree, but when the drm-next is
> > synchronized to the next tree, a conflict occurred between the
> > exynos-drm tree and the drm-next tree. Therefore, I had requested that
> > drm-exynos tree be removed from the next. Perhaps I was inexperienced
> > in managing the git tree at that time. :)
>
> That sounds more like a reason to have your tree in next. One of the
> core motivations of next is to find inter-tree conflicts early. If such
> a conflict occurs and you only notice it when it's time to send your PR
> to drm-next (or even later) the pressure to fix the problem is higher.
>
> Also for patch contributors it's nice to have a "complete" next, their
> tests are more expressive then.
>
> So I want to encourage you to readd your tree to next.

Thanks for your feedback. Requested to Stephen Rothwell. :)

Thanks,
Inki Dae

>
> Best regards
> Uwe
>
> --
> Pengutronix e.K.                           | Uwe Kleine-König            |
> Industrial Linux Solutions                 | https://www.pengutronix.de/ |

_______________________________________________
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] 62+ messages in thread

* Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove callback returning void
@ 2023-12-12  5:38               ` Inki Dae
  0 siblings, 0 replies; 62+ messages in thread
From: Inki Dae @ 2023-12-12  5:38 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: linux-samsung-soc, Jingoo Han, Seung-Woo Kim, Kyungmin Park,
	DRI mailing list, Krzysztof Kozlowski, kernel, Alim Akhtar,
	linux-arm-kernel

Hello Uwe Kleine-König,

2023년 12월 7일 (목) 오후 5:03, Uwe Kleine-König
<u.kleine-koenig@pengutronix.de>님이 작성:
>
> Hello Inki,
>
> On Thu, Dec 07, 2023 at 11:37:44AM +0900, 대인기/Tizen Platform Lab(SR)/삼성전자 wrote:
> > Hello Uwe Kleine-König,
> >
> > > -----Original Message-----
> > > From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > > Sent: Wednesday, November 29, 2023 1:55 AM
> > > To: Inki Dae <daeinki@gmail.com>
> > > Cc: linux-samsung-soc@vger.kernel.org; Daniel Vetter <daniel@ffwll.ch>;
> > > Jingoo Han <jingoohan1@gmail.com>; Seung-Woo Kim <sw0312.kim@samsung.com>;
> > > Kyungmin Park <kyungmin.park@samsung.com>; DRI mailing list <dri-
> > > devel@lists.freedesktop.org>; Krzysztof Kozlowski
> > > <krzysztof.kozlowski@linaro.org>; kernel@pengutronix.de; Alim Akhtar
> > > <alim.akhtar@samsung.com>; David Airlie <airlied@gmail.com>; linux-arm-
> > > kernel@lists.infradead.org
> > > Subject: Re: [PATCH v3 08/16] drm/exynos: Convert to platform remove
> > > callback returning void
> > >
> > > Hello Inki,
> > >
> > > On Wed, Nov 08, 2023 at 08:54:54AM +0100, Uwe Kleine-König wrote:
> > > > Hello Inki,
> > > >
> > > > On Wed, Nov 08, 2023 at 01:16:18PM +0900, Inki Dae wrote:
> > > > > Sorry for late. There was a merge conflict so I fixed it manually and
> > > > > merged. And seems your patch description is duplicated so dropped
> > > > > duplicated one.
> > > >
> > > > Ah. I have a template that generates one patch per driver. I guess this
> > > > is the result of using squash instead of fixup while putting all exynos
> > > > changes into a single patch.
> > >
> > > This patch didn't make it into next yet even though it's included in
> > > your exynos-drm-next branch at
> > > https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git.
> > >
> > > Is this on purpose?
> >
> > drm-exynos tree is not included in the next tree. It was previously
> > included, but it has been removed. drm-exynos tree is merged into the
> > mainline through the drm-next tree, but when the drm-next is
> > synchronized to the next tree, a conflict occurred between the
> > exynos-drm tree and the drm-next tree. Therefore, I had requested that
> > drm-exynos tree be removed from the next. Perhaps I was inexperienced
> > in managing the git tree at that time. :)
>
> That sounds more like a reason to have your tree in next. One of the
> core motivations of next is to find inter-tree conflicts early. If such
> a conflict occurs and you only notice it when it's time to send your PR
> to drm-next (or even later) the pressure to fix the problem is higher.
>
> Also for patch contributors it's nice to have a "complete" next, their
> tests are more expressive then.
>
> So I want to encourage you to readd your tree to next.

Thanks for your feedback. Requested to Stephen Rothwell. :)

Thanks,
Inki Dae

>
> Best regards
> Uwe
>
> --
> Pengutronix e.K.                           | Uwe Kleine-König            |
> Industrial Linux Solutions                 | https://www.pengutronix.de/ |

^ permalink raw reply	[flat|nested] 62+ messages in thread

end of thread, other threads:[~2023-12-12  5:40 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-02 16:56 [PATCH v3 00/16] drm: Convert to platform remove callback returning void Uwe Kleine-König
2023-11-02 16:56 ` Uwe Kleine-König
2023-11-02 16:56 ` Uwe Kleine-König
2023-11-02 16:56 ` [Nouveau] " Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 01/16] drm/bridge: tpd12s015: Drop buggy __exit annotation for remove function Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 02/16] drm/arcpgu: Convert to platform remove callback returning void Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 03/16] drm/armada: " Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 04/16] drm/bridge: cdns-mhdp8546: Improve error reporting in remove callback Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 05/16] drm/bridge: cdns-mhdp8546: Convert to platform remove callback returning void Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 06/16] drm/bridge: tpd12s015: " Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 07/16] drm/etnaviv: " Uwe Kleine-König
2023-11-02 17:05   ` Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 08/16] drm/exynos: " Uwe Kleine-König
2023-11-02 16:56   ` Uwe Kleine-König
2023-11-02 16:56   ` Uwe Kleine-König
2023-11-08  4:16   ` Inki Dae
2023-11-08  7:54     ` Uwe Kleine-König
2023-11-08  7:54       ` Uwe Kleine-König
2023-11-08  7:54       ` Uwe Kleine-König
2023-11-28 16:55       ` Uwe Kleine-König
2023-11-28 16:55         ` Uwe Kleine-König
2023-11-28 16:55         ` Uwe Kleine-König
2023-11-28 17:04         ` Krzysztof Kozlowski
2023-11-28 17:04           ` Krzysztof Kozlowski
2023-11-28 17:04           ` Krzysztof Kozlowski
2023-12-07  2:37         ` 대인기/Tizen Platform Lab(SR)/삼성전자
2023-12-07  2:37           ` 대인기/Tizen Platform Lab(SR)/삼성전자
2023-12-07  2:37           ` 대인기/Tizen Platform Lab(SR)/삼성전자
2023-12-07  8:03           ` Uwe Kleine-König
2023-12-07  8:03             ` Uwe Kleine-König
2023-12-07  8:03             ` Uwe Kleine-König
2023-12-12  5:38             ` Inki Dae
2023-12-12  5:38               ` Inki Dae
2023-12-12  5:38               ` Inki Dae
2023-11-02 16:56 ` [PATCH v3 09/16] drm/imx/dcss: " Uwe Kleine-König
2023-11-02 16:56   ` Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 10/16] drm/imx: lcdc: " Uwe Kleine-König
2023-11-02 16:56   ` Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 11/16] drm/kmb: " Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 12/16] drm/mediatek: " Uwe Kleine-König
2023-11-02 16:56   ` Uwe Kleine-König
2023-11-02 16:56   ` Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 13/16] drm/meson: " Uwe Kleine-König
2023-11-02 16:56   ` Uwe Kleine-König
2023-11-02 16:56   ` Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 14/16] drm/nouveau: " Uwe Kleine-König
2023-11-02 16:56   ` [Nouveau] " Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 15/16] drm/sprd: " Uwe Kleine-König
2023-11-02 16:56 ` [PATCH v3 16/16] drm/tilcdc: " Uwe Kleine-König
2023-11-03  7:58   ` Tomi Valkeinen
2023-11-28 16:49     ` Uwe Kleine-König
2023-11-28 19:54     ` sarha
2023-12-04 17:04       ` Uwe Kleine-König
2023-11-20 12:05 ` [PATCH v3 00/16] drm: " Uwe Kleine-König
2023-11-20 12:05   ` Uwe Kleine-König
2023-11-20 12:05   ` Uwe Kleine-König
2023-11-20 12:05   ` [Nouveau] " Uwe Kleine-König
2023-11-21  8:21   ` Thomas Zimmermann
2023-11-21  8:21     ` Thomas Zimmermann
2023-11-21  8:21     ` Thomas Zimmermann
2023-11-21  8:21     ` [Nouveau] " Thomas Zimmermann
2023-11-28 19:47 ` [PATCH v3 16/16] drm/tilcdc: " jyri.sarha

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.