Stephen Rothwell <s...@canb.auug.org.au> writes: > On Mon, 03 Aug 2020 21:18:00 +1000 Michael Ellerman <m...@ellerman.id.au> > wrote: >> >> If we just move the include of asm/paca.h below asm-generic/percpu.h >> then it avoids the bad circular dependency and we still have paca.h >> included from percpu.h as before. >> >> eg: >> >> diff --git a/arch/powerpc/include/asm/percpu.h >> b/arch/powerpc/include/asm/percpu.h >> index dce863a7635c..8e5b7d0b851c 100644 >> --- a/arch/powerpc/include/asm/percpu.h >> +++ b/arch/powerpc/include/asm/percpu.h >> @@ -10,8 +10,6 @@ >> >> #ifdef CONFIG_SMP >> >> -#include <asm/paca.h> >> - >> #define __my_cpu_offset local_paca->data_offset >> >> #endif /* CONFIG_SMP */ >> @@ -19,4 +17,6 @@ >> >> #include <asm-generic/percpu.h> >> >> +#include <asm/paca.h> >> + >> #endif /* _ASM_POWERPC_PERCPU_H_ */ >> >> >> So I think I'm inclined to merge that as a minimal fix that's easy to >> backport. >> >> cheers > > Looks ok, except does it matter that the include used to be only done > if __powerpc64__ and CONFIG_SMP are defined?
Basically all of paca.h is inside #ifdef CONFIG_PPC64. SMP "shouldn't matter", but I tested a SMP=n build and it's clean, so I think it's good. Of course there's really no guarantees with these header tangles. cheers