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 --- 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);