pinctrl: exynos: don't mark probing functions as __init
authorArnd Bergmann <arnd@arndb.de>
Fri, 25 Jan 2013 14:14:29 +0000 (14:14 +0000)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 29 Jan 2013 22:10:11 +0000 (23:10 +0100)
commit312b00e510af60175b2935404a1927e6480e91e7
treed9a6b6b4fa29f9d5982b25e99fcd1fabb47e4e0c
parent8b77b3762c37c9c2ce72f0d075890a3e8849702f
pinctrl: exynos: don't mark probing functions as __init

Functions called from a driver probe() method must not be
marked __init, because they may get called after the
init phase is done, when the device shows up late, or
because of deferred probing.

Without this patch, building exynos_defconfig results in
multiple warnings like:

WARNING: drivers/pinctrl/built-in.o(.text+0x51bc): Section mismatch in reference from the function exynos5440_pinctrl_probe() to the function .init.text:exynos5440_gpiolib_register()
The function exynos5440_pinctrl_probe() references
the function __init exynos5440_gpiolib_register().
This is often because exynos5440_pinctrl_probe lacks a __init
annotation or the annotation of exynos5440_gpiolib_register is wrong.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Tomasz Figa <t.figa@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-exynos5440.c