RE: [PATCH v2 2/3] spi: nxp-fspi: propagate default setup failures
Bough Chen <[email protected]> Wed, 29 Jul 2026 08:56:29 +0000
| Newsgroups | org.kernel.vger.linux-spi,dev.linux.lists.imx,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <DU2PR04MB8677F89F80EDBC0704EC0F5190CA2@DU2PR04MB8677.eurprd04.prod.outlook.com> |
> -----Original Message----- > From: Jiawen Liu <[email protected]> > Sent: 2026年7月28日 16:05 > To: Han Xu <[email protected]>; Bough Chen <[email protected]>; Yogesh > Gaur <[email protected]>; Mark Brown <[email protected]> > Cc: [email protected]; [email protected]; > [email protected]; Jiawen Liu <[email protected]> > Subject: [PATCH v2 2/3] spi: nxp-fspi: propagate default setup failures > > 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. Reviewed-by: Haibo Chen <[email protected]> Regards Haibo Chen > > Signed-off-by: Jiawen Liu <[email protected]> > --- > 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