From: Arnd Bergmann Date: Fri, 9 Jun 2017 10:18:02 +0000 (+0200) Subject: ARM: at91: fix at91_suspend_entering_slow_clock link error X-Git-Tag: v4.13-rc1~169^2~7^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=be36e000bc2d28512721c6e09c3df920b1bfad5e;p=platform%2Fkernel%2Flinux-exynos.git ARM: at91: fix at91_suspend_entering_slow_clock link error When CONFIG_ARCH_AT91 is enabled, but none of the specific SoC support is in use, some at91 specific drivers fail to link: drivers/tty/serial/atmel_serial.o: In function `atmel_serial_suspend': atmel_serial.c:(.text.atmel_serial_suspend+0x1e): undefined reference to `at91_suspend_entering_slow_clock' drivers/usb/host/ohci-at91.o: In function `ohci_hcd_at91_drv_suspend': ohci-at91.c:(.text.ohci_hcd_at91_drv_suspend+0x12): undefined reference to `at91_suspend_entering_slow_clock' drivers/usb/gadget/udc/at91_udc.o: In function `at91udc_suspend': at91_udc.c:(.text.at91udc_suspend+0x26): undefined reference to `at91_suspend_entering_slow_clock' This changes the at91_suspend_entering_slow_clock hack once more, adding an alternative inline implementation that is used exactly in those cases that don't provide the normal implementation. Fixes: c1892c2379d2 ("ARM: at91: handle CONFIG_PM for armv7m configurations") Signed-off-by: Arnd Bergmann Signed-off-by: Alexandre Belloni --- diff --git a/arch/arm/mach-at91/samv7.c b/arch/arm/mach-at91/samv7.c index 910f0c6..11386f1 100644 --- a/arch/arm/mach-at91/samv7.c +++ b/arch/arm/mach-at91/samv7.c @@ -15,15 +15,6 @@ #include #include "generic.h" -#ifdef CONFIG_PM -/* This function has to be defined for various drivers that are using it */ -int at91_suspend_entering_slow_clock(void) -{ - return 0; -} -EXPORT_SYMBOL(at91_suspend_entering_slow_clock); -#endif - static const char *const samv7_dt_board_compat[] __initconst = { "atmel,samv7", NULL diff --git a/include/linux/platform_data/atmel.h b/include/linux/platform_data/atmel.h index 3c8825b..7b6dce7 100644 --- a/include/linux/platform_data/atmel.h +++ b/include/linux/platform_data/atmel.h @@ -52,6 +52,13 @@ struct atmel_uart_data { }; /* FIXME: this needs a better location, but gets stuff building again */ +#ifdef CONFIG_ATMEL_PM extern int at91_suspend_entering_slow_clock(void); +#else +static inline int at91_suspend_entering_slow_clock(void) +{ + return 0; +} +#endif #endif /* __ATMEL_H__ */