linux-mediatek.lists.infradead.org archive mirror
 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
  2023-05-04 19:44 ` [PATCH 06/18] remoteproc: mtk_scp: " Uwe Kleine-König
  2023-05-09 20:09 ` [PATCH 00/18] remoteproc: " Mathieu Poirier
  0 siblings, 2 replies; 5+ 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] 5+ messages in thread

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

Thread overview: 5+ 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 ` [PATCH 06/18] remoteproc: mtk_scp: " Uwe Kleine-König
2023-05-05  8:58   ` AngeloGioacchino Del Regno
2023-05-05 17:13   ` Matthias Brugger
2023-05-09 20:09 ` [PATCH 00/18] remoteproc: " Mathieu Poirier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).