diff mbox series

clocksource: integrator: fix section mismatch warning

Message ID 20170915194310.1170514-1-arnd@arndb.de
State Accepted
Commit 8fce3dc5c5d6f6301f67311fa79f333902b58cea
Headers show
Series clocksource: integrator: fix section mismatch warning | expand

Commit Message

Arnd Bergmann Sept. 15, 2017, 7:42 p.m. UTC
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

Comments

Linus Walleij Sept. 21, 2017, 11:42 a.m. UTC | #1
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 mbox series

Patch

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;