Message ID | 20211203050317.2102-4-jszhang@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | riscv: mm: init clean up #ifdefs | expand |
On 12/3/21 06:03, Jisheng Zhang wrote: > Except "pt_ops", other global vars when CONFIG_XIP_KERNEL=y is defined > as below: > > |foo_type foo; > |#ifdef CONFIG_XIP_KERNEL > |#define foo (*(foo_type *)XIP_FIXUP(&foo)) > |#endif > > Follow the same way for pt_ops to unify the style and to simplify code. _dtb_early_pa and _dtb_early_va have the same 'issue' too. I thought there was a reason for those variables to be declared this way but I can't find it :) > > Signed-off-by: Jisheng Zhang <jszhang@kernel.org> > --- > arch/riscv/mm/init.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c > index bd445ac778a8..4d4fcd7ef1a9 100644 > --- a/arch/riscv/mm/init.c > +++ b/arch/riscv/mm/init.c > @@ -227,12 +227,10 @@ static void __init setup_bootmem(void) > } > > #ifdef CONFIG_MMU > -static struct pt_alloc_ops _pt_ops __initdata; > +static struct pt_alloc_ops pt_ops __initdata; > > #ifdef CONFIG_XIP_KERNEL > -#define pt_ops (*(struct pt_alloc_ops *)XIP_FIXUP(&_pt_ops)) > -#else > -#define pt_ops _pt_ops > +#define pt_ops (*(struct pt_alloc_ops *)XIP_FIXUP(&pt_ops)) > #endif > > unsigned long riscv_pfn_base __ro_after_init;
On Fri, 3 Dec 2021 09:57:35 +0100 Alexandre ghiti <alex@ghiti.fr> wrote: > On 12/3/21 06:03, Jisheng Zhang wrote: > > Except "pt_ops", other global vars when CONFIG_XIP_KERNEL=y is defined > > as below: > > > > |foo_type foo; > > |#ifdef CONFIG_XIP_KERNEL > > |#define foo (*(foo_type *)XIP_FIXUP(&foo)) > > |#endif > > > > Follow the same way for pt_ops to unify the style and to simplify code. > > > _dtb_early_pa and _dtb_early_va have the same 'issue' too. I thought > there was a reason for those variables to be declared this way but I > can't find it :) Hi Alexandre I may know the reason: the dtb_early_pa|va are used not only in init.c but also in other source files, so they are not static vars. Then if they are defined as the unified style, compiler will emit errors. Thanks > > > > > > Signed-off-by: Jisheng Zhang <jszhang@kernel.org> > > --- > > arch/riscv/mm/init.c | 6 ++---- > > 1 file changed, 2 insertions(+), 4 deletions(-) > > > > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c > > index bd445ac778a8..4d4fcd7ef1a9 100644 > > --- a/arch/riscv/mm/init.c > > +++ b/arch/riscv/mm/init.c > > @@ -227,12 +227,10 @@ static void __init setup_bootmem(void) > > } > > > > #ifdef CONFIG_MMU > > -static struct pt_alloc_ops _pt_ops __initdata; > > +static struct pt_alloc_ops pt_ops __initdata; > > > > #ifdef CONFIG_XIP_KERNEL > > -#define pt_ops (*(struct pt_alloc_ops *)XIP_FIXUP(&_pt_ops)) > > -#else > > -#define pt_ops _pt_ops > > +#define pt_ops (*(struct pt_alloc_ops *)XIP_FIXUP(&pt_ops)) > > #endif > > > > unsigned long riscv_pfn_base __ro_after_init; > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index bd445ac778a8..4d4fcd7ef1a9 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -227,12 +227,10 @@ static void __init setup_bootmem(void) } #ifdef CONFIG_MMU -static struct pt_alloc_ops _pt_ops __initdata; +static struct pt_alloc_ops pt_ops __initdata; #ifdef CONFIG_XIP_KERNEL -#define pt_ops (*(struct pt_alloc_ops *)XIP_FIXUP(&_pt_ops)) -#else -#define pt_ops _pt_ops +#define pt_ops (*(struct pt_alloc_ops *)XIP_FIXUP(&pt_ops)) #endif unsigned long riscv_pfn_base __ro_after_init;
Except "pt_ops", other global vars when CONFIG_XIP_KERNEL=y is defined as below: |foo_type foo; |#ifdef CONFIG_XIP_KERNEL |#define foo (*(foo_type *)XIP_FIXUP(&foo)) |#endif Follow the same way for pt_ops to unify the style and to simplify code. Signed-off-by: Jisheng Zhang <jszhang@kernel.org> --- arch/riscv/mm/init.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)