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