Message ID | 20210125125050.102605-1-arnd@kernel.org |
---|---|
State | New |
Headers | show |
Series | mmc: brcmstb: Fix sdhci_pltfm_suspend link error | expand |
On 25/01/2021 13:50, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > sdhci_pltfm_suspend() is only available when CONFIG_PM_SLEEP > support is built into the kernel, which caused a regression > in a recent bugfix: > > ld.lld: error: undefined symbol: sdhci_pltfm_suspend >>>> referenced by sdhci-brcmstb.c >>>> mmc/host/sdhci-brcmstb.o:(sdhci_brcmstb_shutdown) in archive drivers/built-in.a > > Making the call conditional on the symbol fixes the link > error. > > Fixes: 5b191dcba719 ("mmc: sdhci-brcmstb: Fix mmc timeout errors on S5 suspend") > Fixes: e7b5d63a82fe ("mmc: sdhci-brcmstb: Add shutdown callback") > Cc: stable@vger.kernel.org > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > It would be helpful if someone could test this to ensure that the > driver works correctly even when CONFIG_PM_SLEEP is disabled Good evening Arnd, I have just given this patch a test, and the driver works fine on my side, afterwards. Tested-by: Nicolas Schichan <nschichan@freebox.fr> > --- > drivers/mmc/host/sdhci-brcmstb.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/mmc/host/sdhci-brcmstb.c b/drivers/mmc/host/sdhci-brcmstb.c > index f9780c65ebe9..dc9280b149db 100644 > --- a/drivers/mmc/host/sdhci-brcmstb.c > +++ b/drivers/mmc/host/sdhci-brcmstb.c > @@ -314,7 +314,8 @@ static int sdhci_brcmstb_probe(struct platform_device *pdev) > > static void sdhci_brcmstb_shutdown(struct platform_device *pdev) > { > - sdhci_pltfm_suspend(&pdev->dev); > + if (IS_ENABLED(CONFIG_PM_SLEEP)) > + sdhci_pltfm_suspend(&pdev->dev); > } > > MODULE_DEVICE_TABLE(of, sdhci_brcm_of_match); >
On Mon, 25 Jan 2021 at 18:40, Florian Fainelli <f.fainelli@gmail.com> wrote: > > +Nicolas, > > On 1/25/2021 4:50 AM, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > > > sdhci_pltfm_suspend() is only available when CONFIG_PM_SLEEP > > support is built into the kernel, which caused a regression > > in a recent bugfix: > > > > ld.lld: error: undefined symbol: sdhci_pltfm_suspend > >>>> referenced by sdhci-brcmstb.c > >>>> mmc/host/sdhci-brcmstb.o:(sdhci_brcmstb_shutdown) in archive drivers/built-in.a > > > > Making the call conditional on the symbol fixes the link > > error. > > > > Fixes: 5b191dcba719 ("mmc: sdhci-brcmstb: Fix mmc timeout errors on S5 suspend") > > Fixes: e7b5d63a82fe ("mmc: sdhci-brcmstb: Add shutdown callback") > > Cc: stable@vger.kernel.org > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > --- > > It would be helpful if someone could test this to ensure that the > > driver works correctly even when CONFIG_PM_SLEEP is disabled > > Why not create stubs for sdhci_pltfm_suspend() when CONFIG_PM_SLEEP=n? I > don't think this is going to be a functional issue given that the > purpose of having the .shutdown() function is to save power if we cannot > that is fine, too. > -- > Florian I would prefer this approach - we shouldn't leave stub functions unimplemented, which is what looks to me. I just posted a new patch for this, please have a look and test it. Kind regards Uffe
> I just posted a new patch for this, please have a look and test it. > > Kind regards > Uffe I tested your new patch and it works. Reviewed-and-tested-by: Al Cooper <alcooperx@gmail.com> Thanks Al On Tue, Jan 26, 2021 at 4:55 AM Ulf Hansson <ulf.hansson@linaro.org> wrote: > > On Mon, 25 Jan 2021 at 18:40, Florian Fainelli <f.fainelli@gmail.com> wrote: > > > > +Nicolas, > > > > On 1/25/2021 4:50 AM, Arnd Bergmann wrote: > > > From: Arnd Bergmann <arnd@arndb.de> > > > > > > sdhci_pltfm_suspend() is only available when CONFIG_PM_SLEEP > > > support is built into the kernel, which caused a regression > > > in a recent bugfix: > > > > > > ld.lld: error: undefined symbol: sdhci_pltfm_suspend > > >>>> referenced by sdhci-brcmstb.c > > >>>> mmc/host/sdhci-brcmstb.o:(sdhci_brcmstb_shutdown) in archive drivers/built-in.a > > > > > > Making the call conditional on the symbol fixes the link > > > error. > > > > > > Fixes: 5b191dcba719 ("mmc: sdhci-brcmstb: Fix mmc timeout errors on S5 suspend") > > > Fixes: e7b5d63a82fe ("mmc: sdhci-brcmstb: Add shutdown callback") > > > Cc: stable@vger.kernel.org > > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > > --- > > > It would be helpful if someone could test this to ensure that the > > > driver works correctly even when CONFIG_PM_SLEEP is disabled > > > > Why not create stubs for sdhci_pltfm_suspend() when CONFIG_PM_SLEEP=n? I > > don't think this is going to be a functional issue given that the > > purpose of having the .shutdown() function is to save power if we cannot > > that is fine, too. > > -- > > Florian > > I would prefer this approach - we shouldn't leave stub functions > unimplemented, which is what looks to me. > > I just posted a new patch for this, please have a look and test it. > > Kind regards > Uffe
diff --git a/drivers/mmc/host/sdhci-brcmstb.c b/drivers/mmc/host/sdhci-brcmstb.c index f9780c65ebe9..dc9280b149db 100644 --- a/drivers/mmc/host/sdhci-brcmstb.c +++ b/drivers/mmc/host/sdhci-brcmstb.c @@ -314,7 +314,8 @@ static int sdhci_brcmstb_probe(struct platform_device *pdev) static void sdhci_brcmstb_shutdown(struct platform_device *pdev) { - sdhci_pltfm_suspend(&pdev->dev); + if (IS_ENABLED(CONFIG_PM_SLEEP)) + sdhci_pltfm_suspend(&pdev->dev); } MODULE_DEVICE_TABLE(of, sdhci_brcm_of_match);