From: Arnd Bergmann <arnd@xxxxxxxx> 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@xxxxxxxxxxxxxxx Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> --- 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); -- 2.29.2