From: Arnd Bergmann Date: Thu, 14 Sep 2017 12:50:58 +0000 (+0200) Subject: ARM: omap: hwmod: fix section mismatch warnings X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=0ca14cdea789f70c4dc7ef5844aad52cb9675aee;p=openwrt%2Fstaging%2Fblogic.git ARM: omap: hwmod: fix section mismatch warnings Older compilers choose not to inline _setup_clkctrl_provider(), leading to a harmless warning: WARNING: vmlinux.o(.text+0x27b34): Section mismatch in reference from the function _setup_clkctrl_provider() to the function .init.text:memblock_virt_alloc_try_nid() The function _setup_clkctrl_provider() references the function __init memblock_virt_alloc_try_nid(). This is often because _setup_clkctrl_provider lacks a __init annotation or the annotation of memblock_virt_alloc_try_nid is wrong. This annotates it as __init as well, which lets the linker see that it is actually correct. Acked-by: Tony Lindgren Signed-off-by: Arnd Bergmann --- diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 5eff27e4f24b..1cfe9aff4ac7 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -715,7 +715,7 @@ static const struct of_device_id ti_clkctrl_match_table[] __initconst = { { } }; -static int _setup_clkctrl_provider(struct device_node *np) +static int __init _setup_clkctrl_provider(struct device_node *np) { const __be32 *addrp; struct clkctrl_provider *provider; @@ -743,7 +743,7 @@ static int _setup_clkctrl_provider(struct device_node *np) return 0; } -static int _init_clkctrl_providers(void) +static int __init _init_clkctrl_providers(void) { struct device_node *np; int ret = 0;