[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