[PATCH v2 2/3] spi: nxp-fspi: propagate default setup failures

From: Jiawen Liu

Date: Tue Jul 28 2026 - 04:12:01 EST


nxp_fspi_default_setup() may fail while setting the controller clock rate
or while preparing and enabling the clock. The probe and runtime-resume
paths currently ignore that return value and continue as if the controller
was usable.

Return the setup error from probe and runtime resume so the driver does not
leave the PM core believing the controller is active after setup failed.

Signed-off-by: Jiawen Liu <1298662399@xxxxxx>
---
drivers/spi/spi-nxp-fspi.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c
index 6be78712b534..3f1c3ed748eb 100644
--- a/drivers/spi/spi-nxp-fspi.c
+++ b/drivers/spi/spi-nxp-fspi.c
@@ -1361,7 +1361,9 @@ static int nxp_fspi_probe(struct platform_device *pdev)
if (reg)
fspi_writel(f, reg, f->iobase + FSPI_INTR);

- nxp_fspi_default_setup(f);
+ ret = nxp_fspi_default_setup(f);
+ if (ret)
+ return dev_err_probe(dev, ret, "Failed to setup controller");

init_completion(&f->c);
ret = devm_request_irq(dev, irq,
@@ -1408,7 +1410,10 @@ static int nxp_fspi_runtime_resume(struct device *dev)
return ret;

if (f->flags & FSPI_NEED_INIT) {
- nxp_fspi_default_setup(f);
+ ret = nxp_fspi_default_setup(f);
+ if (ret)
+ return ret;
+
ret = pinctrl_pm_select_default_state(dev);
if (ret)
dev_err(dev, "select flexspi default pinctrl failed!\n");
--
2.34.1