Message ID | 20170915194310.1170514-1-arnd@arndb.de |
---|---|
State | Accepted |
Commit | 8fce3dc5c5d6f6301f67311fa79f333902b58cea |
Headers | show |
Series | clocksource: integrator: fix section mismatch warning | expand |
On Fri, Sep 15, 2017 at 9:42 PM, Arnd Bergmann <arnd@arndb.de> wrote: > gcc-4.6 and older fail to inline integrator_clocksource_init, so they > end up showing a harmless warning: > > WARNING: vmlinux.o(.text+0x4aa94c): Section mismatch in reference from the function integrator_clocksource_init() to the function .init.text:clocksource_mmio_init() > The function integrator_clocksource_init() references > the function __init clocksource_mmio_init(). > This is often because integrator_clocksource_init lacks a __init > annotation or the annotation of clocksource_mmio_init is wrong. > > This adds the missing __init annotation that makes it build > cleanly with all compilers. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Linus Walleij <linus.walleij@linaro.org> I guess Daniel will pick this up. Yours, Linus Walleij
diff --git a/drivers/clocksource/timer-integrator-ap.c b/drivers/clocksource/timer-integrator-ap.c index 2ff64d9d4fb3..62d24690ba02 100644 --- a/drivers/clocksource/timer-integrator-ap.c +++ b/drivers/clocksource/timer-integrator-ap.c @@ -36,8 +36,8 @@ static u64 notrace integrator_read_sched_clock(void) return -readl(sched_clk_base + TIMER_VALUE); } -static int integrator_clocksource_init(unsigned long inrate, - void __iomem *base) +static int __init integrator_clocksource_init(unsigned long inrate, + void __iomem *base) { u32 ctrl = TIMER_CTRL_ENABLE | TIMER_CTRL_PERIODIC; unsigned long rate = inrate;
gcc-4.6 and older fail to inline integrator_clocksource_init, so they end up showing a harmless warning: WARNING: vmlinux.o(.text+0x4aa94c): Section mismatch in reference from the function integrator_clocksource_init() to the function .init.text:clocksource_mmio_init() The function integrator_clocksource_init() references the function __init clocksource_mmio_init(). This is often because integrator_clocksource_init lacks a __init annotation or the annotation of clocksource_mmio_init is wrong. This adds the missing __init annotation that makes it build cleanly with all compilers. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/clocksource/timer-integrator-ap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.9.0