Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1299915 > unrolled thread

[PATCH] [BUG] clk: rockchip: don't mark clock names as initconst

Started byArnd Bergmann <arnd@arndb.de>
First post2016-01-01 14:50 +0100
Last post2016-01-02 22:50 +0100
Articles 5 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] [BUG] clk: rockchip: don't mark clock names as initconst Arnd Bergmann <arnd@arndb.de> - 2016-01-01 14:50 +0100
    Re: [PATCH] [BUG] clk: rockchip: don't mark clock names as initconst Heiko Stübner <heiko@sntech.de> - 2016-01-01 18:10 +0100
      Re: [PATCH] [BUG] clk: rockchip: don't mark clock names as initconst Arnd Bergmann <arnd@arndb.de> - 2016-01-01 23:00 +0100
        Re: [PATCH] [BUG] clk: rockchip: don't mark clock names as initconst Heiko Stübner <heiko@sntech.de> - 2016-01-01 23:10 +0100
          Re: [PATCH] [BUG] clk: rockchip: don't mark clock names as initconst Michael Turquette <mturquette@baylibre.com> - 2016-01-02 22:50 +0100

#1299915 — [PATCH] [BUG] clk: rockchip: don't mark clock names as initconst

FromArnd Bergmann <arnd@arndb.de>
Date2016-01-01 14:50 +0100
Subject[PATCH] [BUG] clk: rockchip: don't mark clock names as initconst
Message-ID<qM8fD-36h-9@gated-at.bofh.it>
The latest changes to the rockchip clk implementation cause
tons of warnings and/or errors (depending on the configuration):

WARNING: vmlinux.o(.data+0x125394): Section mismatch in reference from the variable __compound_literal.125 to the (unknown reference) .init.rodata:(unknown)

The reason is a compount literal in a macro that refers to an
object in the .init.rodata section:

 #define COMPOSITE_FRACMUX(_id, cname, pname, f, mo, df, go, gs, gf, ch) \
        {                                                       \
		...
                .child          = &(struct rockchip_clk_branch)ch, \
        }

'ch' here is placed in .data, and I could find no way to override that
using an attribute or pragma because there is no identifier associated
with it.

This patch avoids the warning by placing the names in .rodata rather than
.init.rodata. However, it is not an ideal solution because we really
want all those data structures to be discarded along with the initdata.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 8ca1ca8f6039 ("clk: rockchip: handle mux dependency of fractional dividers")

diff --git a/drivers/clk/rockchip/clk.h b/drivers/clk/rockchip/clk.h
index 3f71ee5d1bc9..5cadf5e3fb16 100644
--- a/drivers/clk/rockchip/clk.h
+++ b/drivers/clk/rockchip/clk.h
@@ -244,7 +244,7 @@ struct clk *rockchip_clk_register_inverter(const char *name,
 				void __iomem *reg, int shift, int flags,
 				spinlock_t *lock);
 
-#define PNAME(x) static const char *const x[] __initconst
+#define PNAME(x) static const char *const x[]
 
 enum rockchip_clk_branch_type {
 	branch_composite,

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1299955

FromHeiko Stübner <heiko@sntech.de>
Date2016-01-01 18:10 +0100
Message-ID<qMbne-5eY-35@gated-at.bofh.it>
In reply to#1299915
Hi Arnd,

Am Freitag, 1. Januar 2016, 14:42:52 schrieb Arnd Bergmann:
> The latest changes to the rockchip clk implementation cause
> tons of warnings and/or errors (depending on the configuration):
> 
> WARNING: vmlinux.o(.data+0x125394): Section mismatch in reference from the
> variable __compound_literal.125 to the (unknown reference)
> .init.rodata:(unknown)
> 
> The reason is a compount literal in a macro that refers to an
> object in the .init.rodata section:
> 
>  #define COMPOSITE_FRACMUX(_id, cname, pname, f, mo, df, go, gs, gf, ch) \
>         {                                                       \
> 		...
>                 .child          = &(struct rockchip_clk_branch)ch, \
>         }
> 
> 'ch' here is placed in .data, and I could find no way to override that
> using an attribute or pragma because there is no identifier associated
> with it.

"[PATCH] clk: rockchip: fix section mismatches with new child-clocks" [0]

should be in Mike's + Stephen's inbox since last week as well, which moves the 
offending new elements into separate entities, which can have __initdata 
attributes again.


Heiko

[0] http://www.spinics.net/lists/arm-kernel/msg471295.html


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1299990

FromArnd Bergmann <arnd@arndb.de>
Date2016-01-01 23:00 +0100
Message-ID<qMfTQ-7Sa-5@gated-at.bofh.it>
In reply to#1299955
On Friday 01 January 2016 18:06:30 Heiko Stübner wrote:
> 
> "[PATCH] clk: rockchip: fix section mismatches with new child-clocks" [0]
> 
> should be in Mike's + Stephen's inbox since last week as well, which moves the 
> offending new elements into separate entities, which can have __initdata 
> attributes again.
> 
> 
> Heiko
> 
> [0] http://www.spinics.net/lists/arm-kernel/msg471295.html

The patch looks good, but for some reason, the next-20151223 kernel had no
problem and next-20151231 was broken, the top commits in drivers/clk/rockchips
are:

commit a915e30dd26ea5f3cc2e2c044aba38ee5973d3fa
Merge: ce6dd266d535 b0158bb27c7b
Author: Michael Turquette <mturquette@baylibre.com>
Date:   Wed Dec 23 13:08:56 2015 -0800

    Merge branch 'clk-rockchip' into clk-next

commit b0158bb27c7b6e9843f541c17b24dbd964b76db6
Author: Xing Zheng <zhengxing@rock-chips.com>
Date:   Tue Dec 22 22:28:01 2015 +0100

    clk: rockchip: rk3036: include downstream muxes into fractional dividers
    
    Use the newly introduced possibility to combine the fractional dividers


	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1299993

FromHeiko Stübner <heiko@sntech.de>
Date2016-01-01 23:10 +0100
Message-ID<qMg3v-8bz-1@gated-at.bofh.it>
In reply to#1299990
Am Freitag, 1. Januar 2016, 22:50:43 schrieb Arnd Bergmann:
> On Friday 01 January 2016 18:06:30 Heiko Stübner wrote:
> > "[PATCH] clk: rockchip: fix section mismatches with new child-clocks" [0]
> > 
> > should be in Mike's + Stephen's inbox since last week as well, which moves
> > the offending new elements into separate entities, which can have
> > __initdata attributes again.
> > 
> > 
> > Heiko
> > 
> > [0] http://www.spinics.net/lists/arm-kernel/msg471295.html
> 
> The patch looks good, but for some reason, the next-20151223 kernel had no
> problem and next-20151231 was broken, the top commits in
> drivers/clk/rockchips are:

That is correct. next-20151223 did not contain the offending patches yet. 
After the patches got merged into the clock-tree the kbuild-robot alerted us 
to the __initdata issue, so I created the linked patch as fixup.


Heiko

> 
> commit a915e30dd26ea5f3cc2e2c044aba38ee5973d3fa
> Merge: ce6dd266d535 b0158bb27c7b
> Author: Michael Turquette <mturquette@baylibre.com>
> Date:   Wed Dec 23 13:08:56 2015 -0800
> 
>     Merge branch 'clk-rockchip' into clk-next
> 
> commit b0158bb27c7b6e9843f541c17b24dbd964b76db6
> Author: Xing Zheng <zhengxing@rock-chips.com>
> Date:   Tue Dec 22 22:28:01 2015 +0100
> 
>     clk: rockchip: rk3036: include downstream muxes into fractional dividers
> 
>     Use the newly introduced possibility to combine the fractional dividers
> 
> 
> 	Arnd

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1300132

FromMichael Turquette <mturquette@baylibre.com>
Date2016-01-02 22:50 +0100
Message-ID<qMCdH-4Za-3@gated-at.bofh.it>
In reply to#1299993
Quoting Heiko Stübner (2016-01-01 14:05:10)
> Am Freitag, 1. Januar 2016, 22:50:43 schrieb Arnd Bergmann:
> > On Friday 01 January 2016 18:06:30 Heiko Stübner wrote:
> > > "[PATCH] clk: rockchip: fix section mismatches with new child-clocks" [0]
> > > 
> > > should be in Mike's + Stephen's inbox since last week as well, which moves
> > > the offending new elements into separate entities, which can have
> > > __initdata attributes again.
> > > 
> > > 
> > > Heiko
> > > 
> > > [0] http://www.spinics.net/lists/arm-kernel/msg471295.html
> > 
> > The patch looks good, but for some reason, the next-20151223 kernel had no
> > problem and next-20151231 was broken, the top commits in
> > drivers/clk/rockchips are:
> 
> That is correct. next-20151223 did not contain the offending patches yet. 
> After the patches got merged into the clock-tree the kbuild-robot alerted us 
> to the __initdata issue, so I created the linked patch as fixup.

The fix has been pushed to the clk mirror. The next -next should no
longer have the section mismatch warnings.

Regards,
Mike

> 
> 
> Heiko
> 
> > 
> > commit a915e30dd26ea5f3cc2e2c044aba38ee5973d3fa
> > Merge: ce6dd266d535 b0158bb27c7b
> > Author: Michael Turquette <mturquette@baylibre.com>
> > Date:   Wed Dec 23 13:08:56 2015 -0800
> > 
> >     Merge branch 'clk-rockchip' into clk-next
> > 
> > commit b0158bb27c7b6e9843f541c17b24dbd964b76db6
> > Author: Xing Zheng <zhengxing@rock-chips.com>
> > Date:   Tue Dec 22 22:28:01 2015 +0100
> > 
> >     clk: rockchip: rk3036: include downstream muxes into fractional dividers
> > 
> >     Use the newly introduced possibility to combine the fractional dividers
> > 
> > 
> >       Arnd
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web