[PATCH] clk: don't use __initconst for non-const arrays
Uwe Kleine-König
u.kleine-koenig at pengutronix.de
Thu Sep 11 15:04:45 PDT 2014
Hello,
On Thu, Sep 11, 2014 at 11:04:31PM +0200, Uwe Kleine-König wrote:
> /* Mux parent lists. */
> -static const char *fin_pll_p[] __initconst = {
> +static const char *fin_pll_p[] __initdata = {
> "xxti",
> "xusbxti"
> };
As discussed with Tomasz on irc: The sad thing here is that for this
array only 8 bytes are freed when .init.rodata is thrown away (that is
two pointers). The actual data---5 + 8 bytes + maybe aligning---isn't
freed though.
We wondered if there is a nice and easy way to throw away the
characters, too.
The only way I currently see is:
const char xxti[] __initconst = "xxti";
...
static const char *fin_pll_p[] __initdata = {
xxti,
...
};
but this definitively doesn't qualify as "nice and easy". Is there an
alternative?
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
More information about the Linux-rockchip
mailing list