[PATCH v4 00/12] remoteproc: imx_dsp_rproc: Refactor to use new ops and remove switch-case logic

Peng Fan (OSS) posted 12 patches 1 week, 5 days ago
drivers/remoteproc/imx_dsp_rproc.c | 353 +++++++++++++++++++------------------
drivers/remoteproc/imx_rproc.h     |  14 --
2 files changed, 186 insertions(+), 181 deletions(-)
[PATCH v4 00/12] remoteproc: imx_dsp_rproc: Refactor to use new ops and remove switch-case logic
Posted by Peng Fan (OSS) 1 week, 5 days ago
This patchset aligns imx_dsp_rproc with the cleanup and modernization
previously applied to imx_rproc.c. The goal is to simplify the driver by
transitioning to the new ops-based method, eliminating the legacy
switch-case logic for a cleaner and more maintainable design.

Patches 1–5: General cleanup, including code simplification and adoption
             of the devres API.
Patches 6–10: Transition to the new ops-based approach, removing the
              switch-case structure.
Patch 11: Remove the obsolete enum imx_rproc_method.
Patch 12: Cleanup goto based logic.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
Changes in v4:
- Collected R-b and T-b
- Address the build warning in patch 1
- Add a new patch 12 to cleanup the goto based logic
- Link to V3: https://lore.kernel.org/imx/20251111-imx-dsp-2025-11-11-v3-0-d05dcba737fa@nxp.com/

Changes in v3:
- Collected R-b
- Simplify commit log for patch 4 per Frank.
- Link to V2: https://lore.kernel.org/all/20251106-imx-dsp-2025-11-06-v1-0-46028bc3459a@nxp.com/

Changes in v2:
- Collected R-b
- Patch 3: Update commit per Frank/Daniel
- patch 8: Use priv->dsp_dcfg->dcfg to avoid adding "const struct imx_rproc_dsp_dcfg *dsp_dcfg"
- Link to v1: https://lore.kernel.org/linux-remoteproc/CAEnQRZAOTFw=sBppHTYQAdfDBuNqkqk6gVO4FyP0EBsva3Oi+Q@mail.gmail.com/T/#m27c93af9fb1e7fdeb0766bdbffbaae39d79eefab

---
Peng Fan (12):
      remoteproc: imx_dsp_rproc: simplify power domain attach and error handling
      remoteproc: imx_dsp_rproc: Use devm_rproc_add() helper
      remoteproc: imx_dsp_rproc: Use devm_pm_runtime_enable() helper
      remoteproc: imx_dsp_rproc: Use dev_err_probe() for firmware and mode errors
      remoteproc: imx_dsp_rproc: Drop extra space
      remoteproc: imx_dsp_rproc: Use start/stop/detect_mode ops from imx_rproc_dcfg
      remoteproc: imx_dsp_rproc: Move imx_dsp_rproc_dcfg closer to imx_dsp_rproc_of_match
      remoteproc: imx_dsp_rproc: Simplify IMX_RPROC_MMIO switch case
      remoteproc: imx_dsp_rproc: Simplify IMX_RPROC_SCU_API switch case
      remoteproc: imx_dsp_rproc: Simplify IMX_RPROC_RESET_CONTROLLER switch case
      remoteproc: imx_rproc: Remove enum imx_rproc_method
      remoteproc: imx_dsp_rproc: simplify start/stop error handling

 drivers/remoteproc/imx_dsp_rproc.c | 353 +++++++++++++++++++------------------
 drivers/remoteproc/imx_rproc.h     |  14 --
 2 files changed, 186 insertions(+), 181 deletions(-)
---
base-commit: 187dac290bfd0741b9d7d5490af825c33fd9baa4
change-id: 20251119-imx-dsp-2025-11-19-fa99d7c84c91

Best regards,
-- 
Peng Fan <peng.fan@nxp.com>

Re: [PATCH v4 00/12] remoteproc: imx_dsp_rproc: Refactor to use new ops and remove switch-case logic
Posted by Mathieu Poirier 1 week, 5 days ago
On Wed, Nov 19, 2025 at 12:21:45PM +0800, Peng Fan (OSS) wrote:
> This patchset aligns imx_dsp_rproc with the cleanup and modernization
> previously applied to imx_rproc.c. The goal is to simplify the driver by
> transitioning to the new ops-based method, eliminating the legacy
> switch-case logic for a cleaner and more maintainable design.
> 
> Patches 1–5: General cleanup, including code simplification and adoption
>              of the devres API.
> Patches 6–10: Transition to the new ops-based approach, removing the
>               switch-case structure.
> Patch 11: Remove the obsolete enum imx_rproc_method.
> Patch 12: Cleanup goto based logic.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> Changes in v4:
> - Collected R-b and T-b
> - Address the build warning in patch 1
> - Add a new patch 12 to cleanup the goto based logic
> - Link to V3: https://lore.kernel.org/imx/20251111-imx-dsp-2025-11-11-v3-0-d05dcba737fa@nxp.com/
> 
> Changes in v3:
> - Collected R-b
> - Simplify commit log for patch 4 per Frank.
> - Link to V2: https://lore.kernel.org/all/20251106-imx-dsp-2025-11-06-v1-0-46028bc3459a@nxp.com/
> 
> Changes in v2:
> - Collected R-b
> - Patch 3: Update commit per Frank/Daniel
> - patch 8: Use priv->dsp_dcfg->dcfg to avoid adding "const struct imx_rproc_dsp_dcfg *dsp_dcfg"
> - Link to v1: https://lore.kernel.org/linux-remoteproc/CAEnQRZAOTFw=sBppHTYQAdfDBuNqkqk6gVO4FyP0EBsva3Oi+Q@mail.gmail.com/T/#m27c93af9fb1e7fdeb0766bdbffbaae39d79eefab
> 
> ---
> Peng Fan (12):
>       remoteproc: imx_dsp_rproc: simplify power domain attach and error handling
>       remoteproc: imx_dsp_rproc: Use devm_rproc_add() helper
>       remoteproc: imx_dsp_rproc: Use devm_pm_runtime_enable() helper
>       remoteproc: imx_dsp_rproc: Use dev_err_probe() for firmware and mode errors
>       remoteproc: imx_dsp_rproc: Drop extra space
>       remoteproc: imx_dsp_rproc: Use start/stop/detect_mode ops from imx_rproc_dcfg
>       remoteproc: imx_dsp_rproc: Move imx_dsp_rproc_dcfg closer to imx_dsp_rproc_of_match
>       remoteproc: imx_dsp_rproc: Simplify IMX_RPROC_MMIO switch case
>       remoteproc: imx_dsp_rproc: Simplify IMX_RPROC_SCU_API switch case
>       remoteproc: imx_dsp_rproc: Simplify IMX_RPROC_RESET_CONTROLLER switch case
>       remoteproc: imx_rproc: Remove enum imx_rproc_method
>       remoteproc: imx_dsp_rproc: simplify start/stop error handling
> 
>  drivers/remoteproc/imx_dsp_rproc.c | 353 +++++++++++++++++++------------------
>  drivers/remoteproc/imx_rproc.h     |  14 --

I have applied this set.

Thanks,
Mathieu

>  2 files changed, 186 insertions(+), 181 deletions(-)
> ---
> base-commit: 187dac290bfd0741b9d7d5490af825c33fd9baa4
> change-id: 20251119-imx-dsp-2025-11-19-fa99d7c84c91
> 
> Best regards,
> -- 
> Peng Fan <peng.fan@nxp.com>
>