Re: [PATCH v4 12/21] arm64: cpufeature: Add an early command-line cpufeature override facility

From: Catalin Marinas
Date: Sat Jan 23 2021 - 08:46:04 EST


On Mon, Jan 18, 2021 at 09:45:24AM +0000, Marc Zyngier wrote:
> +struct reg_desc {
> + const char * const name;
> + u64 * const val;
> + u64 * const mask;
> + struct {
> + const char * const name;
> + u8 shift;
> + } fields[];
> +};

Sorry, I didn't see this earlier. Do we need to add all these consts
here? So you want the pointers to be const but why is 'shift' special
and not a const then? Is it modified later?

Would this not work:

struct reg_desc {
const char *name;
u64 *val;
u64 *mask;
struct {
const char *name;
u8 shift;
} fields[];
};

> +static const struct reg_desc * const regs[] __initdata = {

as we already declare the whole struct reg_desc pointers here as const.
I may have confused myself...

--
Catalin