OSDN Git Service

clk: sunxi: don't mark sun6i_ar100_data __initconst
authorArnd Bergmann <arnd@arndb.de>
Tue, 2 Feb 2016 15:55:30 +0000 (16:55 +0100)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 2 Feb 2016 17:33:25 +0000 (18:33 +0100)
The clk-sun6i-ar100 clk driver is a platform driver that may use
deferred probing, so its probe function must not access
__init symbols. Kbuild warns about this:

WARNING: drivers/clk/sunxi/built-in.o(.text+0x15f0): Section mismatch in reference from the function sun6i_a31_ar100_clk_probe() to the (unknown reference) .init.rodata:(unknown)
The function sun6i_a31_ar100_clk_probe() references
the (unknown reference) __initconst (unknown).
This is often because sun6i_a31_ar100_clk_probe lacks a __initconst
annotation or the annotation of (unknown) is wrong.

Removing the __initconst annotation avoids the warning and makes
deferred probing work.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 3ca2377b6fed ("clk: sunxi: rewrite sun6i-ar100 using factors clk")
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clk/sunxi/clk-sun6i-ar100.c

index a7f5777..84a187e 100644 (file)
@@ -60,7 +60,7 @@ static const struct clk_factors_config sun6i_ar100_config = {
        .pshift = 4,
 };
 
-static const struct factors_data sun6i_ar100_data __initconst = {
+static const struct factors_data sun6i_ar100_data = {
        .mux = 16,
        .muxmask = GENMASK(1, 0),
        .table = &sun6i_ar100_config,