[PATCH 00/18] remoteproc: Convert to platform remove callback returning void
Mathieu Poirier
mathieu.poirier at linaro.org
Tue May 9 13:09:17 PDT 2023
On Thu, May 04, 2023 at 09:44:35PM +0200, Uwe Kleine-König wrote:
> 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(-)
>
I have applied this set.
Thanks,
Mathieu
>
> base-commit: 1a5304fecee523060f26e2778d9d8e33c0562df3
> --
> 2.39.2
>
More information about the linux-arm-kernel
mailing list