OSDN Git Service

ARM: omap: hwmod: fix section mismatch warnings
authorArnd Bergmann <arnd@arndb.de>
Thu, 14 Sep 2017 12:50:58 +0000 (14:50 +0200)
committerArnd Bergmann <arnd@arndb.de>
Mon, 22 Jan 2018 11:39:36 +0000 (12:39 +0100)
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 <tony@atomide.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/mach-omap2/omap_hwmod.c

index 5eff27e..1cfe9af 100644 (file)
@@ -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;