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

Reply via email to