All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] remoteproc: Convert to platform remove callback returning void
@ 2023-05-04 19:44 ` Uwe Kleine-König
  0 siblings, 0 replies; 47+ messages in thread
From: Uwe Kleine-König @ 2023-05-04 19:44 UTC (permalink / raw)
  To: Bjorn Andersson, Mathieu Poirier, Shawn Guo, Sascha Hauer,
	Neil Armstrong, Kevin Hilman, Matthias Brugger, Andy Gross,
	Patrice Chotard, Maxime Coquelin, Alexandre Torgue
  Cc: linux-remoteproc, kernel, Fabio Estevam, NXP Linux Team,
	linux-arm-kernel, Jerome Brunet, Martin Blumenstingl,
	linux-amlogic, AngeloGioacchino Del Regno, linux-mediatek,
	Konrad Dybcio, linux-arm-msm, linux-stm32

Hello,

this patch series adapts most platform drivers below drivers/remoteproc
to use the .remove_new() callback. Compared to the traditional .remove()
callback .remove_new() returns no value. This is a good thing because
the driver core doesn't (and cannot) cope for errors during remove. The
only effect of a non-zero return value in .remove() is that the driver
core emits a warning. The device is removed anyhow and an early return
from .remove() usually yields a resource leak. One driver suffering from
this problem (s3c2410) is fixed by the first patch.

By changing the remove callback to return void driver authors cannot
reasonably (but wrongly) assume any more that there happens some kind of
cleanup later.

There is one driver (i.e. ti_k3_dsp_remoteproc.c) that might return an
error code in .remove(). I didn't look in detail into this driver, but
if that error happens, we have exactly the bad situation described
above. (Note that kproc->mem and the register mapping goes away.)

Best regards
Uwe

Uwe Kleine-König (18):
  remoteproc: da8xx: Convert to platform remove callback returning void
  remoteproc: imx_dsp: Convert to platform remove callback returning
    void
  remoteproc: imx: Convert to platform remove callback returning void
  remoteproc: keystone: Convert to platform remove callback returning
    void
  remoteproc: meson_mx_ao_arc: Convert to platform remove callback
    returning void
  remoteproc: mtk_scp: Convert to platform remove callback returning
    void
  remoteproc: omap: Convert to platform remove callback returning void
  remoteproc: pru: Convert to platform remove callback returning void
  remoteproc: qcom_q6v5_adsp: Convert to platform remove callback
    returning void
  remoteproc: qcom_q6v5_mss: Convert to platform remove callback
    returning void
  remoteproc: qcom_q6v5_pas: Convert to platform remove callback
    returning void
  remoteproc: qcom_q6v5_wcss: Convert to platform remove callback
    returning void
  remoteproc: qcom_wcnss: Convert to platform remove callback returning
    void
  remoteproc: rcar: Convert to platform remove callback returning void
  remoteproc: virtio: Convert to platform remove callback returning void
  remoteproc: st: Convert to platform remove callback returning void
  remoteproc: stm32: Convert to platform remove callback returning void
  remoteproc: wkup_m3: Convert to platform remove callback returning
    void

 drivers/remoteproc/da8xx_remoteproc.c    | 6 ++----
 drivers/remoteproc/imx_dsp_rproc.c       | 6 ++----
 drivers/remoteproc/imx_rproc.c           | 6 ++----
 drivers/remoteproc/keystone_remoteproc.c | 6 ++----
 drivers/remoteproc/meson_mx_ao_arc.c     | 6 ++----
 drivers/remoteproc/mtk_scp.c             | 6 ++----
 drivers/remoteproc/omap_remoteproc.c     | 6 ++----
 drivers/remoteproc/pru_rproc.c           | 6 ++----
 drivers/remoteproc/qcom_q6v5_adsp.c      | 6 ++----
 drivers/remoteproc/qcom_q6v5_mss.c       | 6 ++----
 drivers/remoteproc/qcom_q6v5_pas.c       | 6 ++----
 drivers/remoteproc/qcom_q6v5_wcss.c      | 6 ++----
 drivers/remoteproc/qcom_wcnss.c          | 6 ++----
 drivers/remoteproc/rcar_rproc.c          | 6 ++----
 drivers/remoteproc/remoteproc_virtio.c   | 6 ++----
 drivers/remoteproc/st_remoteproc.c       | 6 ++----
 drivers/remoteproc/stm32_rproc.c         | 6 ++----
 drivers/remoteproc/wkup_m3_rproc.c       | 6 ++----
 18 files changed, 36 insertions(+), 72 deletions(-)


base-commit: 1a5304fecee523060f26e2778d9d8e33c0562df3
-- 
2.39.2


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

end of thread, other threads:[~2023-05-09 20:09 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-04 19:44 [PATCH 00/18] remoteproc: Convert to platform remove callback returning void Uwe Kleine-König
2023-05-04 19:44 ` Uwe Kleine-König
2023-05-04 19:44 ` Uwe Kleine-König
2023-05-04 19:44 ` [PATCH 01/18] remoteproc: da8xx: " Uwe Kleine-König
2023-05-04 19:44 ` [PATCH 02/18] remoteproc: imx_dsp: " Uwe Kleine-König
2023-05-04 19:44   ` Uwe Kleine-König
2023-05-04 21:33   ` Iuliana Prodan
2023-05-04 21:33     ` Iuliana Prodan
2023-05-04 19:44 ` [PATCH 03/18] remoteproc: imx: " Uwe Kleine-König
2023-05-04 19:44   ` Uwe Kleine-König
2023-05-04 21:34   ` Iuliana Prodan
2023-05-04 21:34     ` Iuliana Prodan
2023-05-04 19:44 ` [PATCH 04/18] remoteproc: keystone: " Uwe Kleine-König
2023-05-04 19:44 ` [PATCH 05/18] remoteproc: meson_mx_ao_arc: " Uwe Kleine-König
2023-05-04 19:44   ` Uwe Kleine-König
2023-05-04 19:44   ` Uwe Kleine-König
2023-05-08 19:39   ` Martin Blumenstingl
2023-05-08 19:39     ` Martin Blumenstingl
2023-05-04 19:44 ` [PATCH 06/18] remoteproc: mtk_scp: " Uwe Kleine-König
2023-05-04 19:44   ` Uwe Kleine-König
2023-05-05  8:58   ` AngeloGioacchino Del Regno
2023-05-05  8:58     ` AngeloGioacchino Del Regno
2023-05-05 17:13   ` Matthias Brugger
2023-05-05 17:13     ` Matthias Brugger
2023-05-04 19:44 ` [PATCH 07/18] remoteproc: omap: " Uwe Kleine-König
2023-05-04 19:44 ` [PATCH 08/18] remoteproc: pru: " Uwe Kleine-König
2023-05-04 19:44 ` [PATCH 09/18] remoteproc: qcom_q6v5_adsp: " Uwe Kleine-König
2023-05-05  3:00   ` Caleb Connolly
2023-05-04 19:44 ` [PATCH 10/18] remoteproc: qcom_q6v5_mss: " Uwe Kleine-König
2023-05-05  3:00   ` Caleb Connolly
2023-05-04 19:44 ` [PATCH 11/18] remoteproc: qcom_q6v5_pas: " Uwe Kleine-König
2023-05-05  3:01   ` Caleb Connolly
2023-05-04 19:44 ` [PATCH 12/18] remoteproc: qcom_q6v5_wcss: " Uwe Kleine-König
2023-05-05  3:01   ` Caleb Connolly
2023-05-04 19:44 ` [PATCH 13/18] remoteproc: qcom_wcnss: " Uwe Kleine-König
2023-05-05  3:01   ` Caleb Connolly
2023-05-04 19:44 ` [PATCH 14/18] remoteproc: rcar: " Uwe Kleine-König
2023-05-04 19:44 ` [PATCH 15/18] remoteproc: virtio: " Uwe Kleine-König
2023-05-04 19:44 ` [PATCH 16/18] remoteproc: st: " Uwe Kleine-König
2023-05-04 19:44   ` Uwe Kleine-König
2023-05-09  6:28   ` Patrice CHOTARD
2023-05-04 19:44 ` [PATCH 17/18] remoteproc: stm32: " Uwe Kleine-König
2023-05-04 19:44   ` Uwe Kleine-König
2023-05-09 17:11   ` Arnaud POULIQUEN
2023-05-04 19:44 ` [PATCH 18/18] remoteproc: wkup_m3: " Uwe Kleine-König
2023-05-09 20:09 ` [PATCH 00/18] remoteproc: " Mathieu Poirier
2023-05-09 20:09   ` Mathieu Poirier

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.