Re: powerpc: build failures in Linus' tree

From: Michael Ellerman
Date: Mon Aug 03 2020 - 20:49:31 EST


Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> writes:
> On Mon, 03 Aug 2020 21:18:00 +1000 Michael Ellerman <mpe@xxxxxxxxxxxxxx> 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