Message ID | 20230504194453.1150368-1-u.kleine-koenig@pengutronix.de (mailing list archive) |
---|---|
Headers | show |
Series | remoteproc: Convert to platform remove callback returning void | expand |
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 >