Messages in this thread Patch in this message | | | Subject | Re: [PATCH 1/2] clk: pistachio: Fix initconst confusion | From | Stephen Boyd <> | Date | Wed, 29 Jun 2022 01:21:02 -0700 |
| |
Quoting Jiri Slaby (2022-06-27 00:46:15) > On 24. 06. 22, 2:42, Stephen Boyd wrote: > > Quoting Jiri Slaby (2022-06-23 01:32:16) > >> From: Andi Kleen <ak@linux.intel.com> > >> > >> A variable pointing to const isn't const itself. It'd have to contain > >> "const" keyword after "*" too. Therefore, PNAME() cannot put the strings > >> to "rodata". Hence use __initdata instead of __initconst to fix this. > >> > >> [js] more explanatory commit message. > >> > >> Cc: Michael Turquette <mturquette@baylibre.com> > >> Cc: Stephen Boyd <sboyd@kernel.org> > >> Cc: linux-clk@vger.kernel.org > >> Signed-off-by: Andi Kleen <ak@linux.intel.com> > >> Signed-off-by: Jiri Slaby <jslaby@suse.cz> > >> --- > >> drivers/clk/pistachio/clk.h | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/drivers/clk/pistachio/clk.h b/drivers/clk/pistachio/clk.h > >> index f9c31e3a0e47..742e5fab00c0 100644 > >> --- a/drivers/clk/pistachio/clk.h > >> +++ b/drivers/clk/pistachio/clk.h > >> @@ -34,7 +34,7 @@ struct pistachio_mux { > >> const char **parents; > >> }; > >> > >> -#define PNAME(x) static const char *x[] __initconst > >> +#define PNAME(x) static const char *x[] __initdata > > > > Can it be const char * const and left as __initconst? > > Let me check, IIRC the struct where this is assigned would need to be > updated too. > > I will get into it only some time next week. >
Ok, sounds good. This seems to at least compile locally.
----8<---
diff --git a/drivers/clk/pistachio/clk.h b/drivers/clk/pistachio/clk.h index f9c31e3a0e47..8be02ac2d909 100644 --- a/drivers/clk/pistachio/clk.h +++ b/drivers/clk/pistachio/clk.h @@ -31,10 +31,10 @@ struct pistachio_mux { unsigned int shift; unsigned int num_parents; const char *name; - const char **parents; + const char * const *parents; }; -#define PNAME(x) static const char *x[] __initconst +#define PNAME(x) static const char * const x[] __initconst #define MUX(_id, _name, _pnames, _reg, _shift) \ { \
| |