On Wed, Sep 10, 2025 at 03:11:44PM +0800, Peng Fan wrote:
> This patchset serves as a preparing patchset for i.MX95 support.
>
> The current code logic is complicated, with mix the usage of switch-case
> and if-else.
>
> To simplify the code logic:
> Introduce struct imx_rproc_plat_ops to wrap platform start,stop,detect_mode.
> Each imx_rproc_dcfg data structure is assigned a ops pointer.
> The common imx_rproc_{start,stop}() directly invokes the plat ops, no
> need the switch-case.
> mmio/smc/scu_api ops are included.
> No functional changes.
>
> Thanks to Daniel and Frank for the help.
>
> Test on i.MX8MM for MMIO ops, i.MX8MP for SMC ops, i.MX8QM for SCU-API ops.
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> Changes in v2:
> - Simplify the if/else in patch 6 per Frank and Mathieu
> - Add R-b from Daniel and Frank.
> - Link to v1: https://lore.kernel.org/r/20250908-imx-rproc-cleanup-v1-0-e838cb14436c@nxp.com
>
> ---
> Peng Fan (6):
> remoteproc: imx_rproc: Introduce start/stop/detect_mode ops for imx_rproc_dcfg
> remoteproc: imx_rproc: Move imx_rproc_dcfg closer to imx_rproc_of_match
> remoteproc: imx_rproc: Simplify IMX_RPROC_MMIO switch case
> remoteproc: imx_rproc: Simplify IMX_RPROC_SCU_API switch case
> remoteproc: imx_rproc: Simplify IMX_RPROC_SMC switch case
> remoteproc: imx_rproc: Clean up after ops introduction
>
> drivers/remoteproc/imx_rproc.c | 449 +++++++++++++++++++++++------------------
> drivers/remoteproc/imx_rproc.h | 7 +
> 2 files changed, 265 insertions(+), 191 deletions(-)
I have applied this set.
Thanks,
Mathieu
> ---
> base-commit: 3e8e5822146bc396d2a7e5fbb7be13271665522a
> change-id: 20250908-imx-rproc-cleanup-6f3b546b9fdf
>
> Best regards,
> --
> Peng Fan <peng.fan@nxp.com>
>