Re: linux-next: build warning after merge of the arm64 tree

From: Arnd Bergmann
Date: Tue Jul 24 2018 - 04:12:21 EST


On Tue, Jul 24, 2018 at 2:26 AM, AKASHI Takahiro
<takahiro.akashi@xxxxxxxxxx> wrote:
> On Tue, Jul 24, 2018 at 09:05:45AM +1000, Stephen Rothwell wrote:
>> Hi all,
>>
>> After merging the arm64 tree, today's linux-next build (x86_64
>> allmodconfig) produced this warning:
>
> Where can I find this specific branch?
>
>> drivers/acpi/Kconfig:6:error: recursive dependency detected!
>> drivers/acpi/Kconfig:6: symbol ACPI depends on EFI
>
> My patch created an additional dependency like:
> menu ACPI
> ...
> depends on IA64 || X86 || (ARM64 && EFI)
>
>> arch/x86/Kconfig:1920: symbol EFI depends on ACPI
>
> So I don't understand why this change makes a warning on x86_64 build.
> Is this a real recursive dependency?

On x86, we have

config EFI
bool "EFI runtime service support"
depends on ACPI

Kconfig cannot know that CONFIG_ARM64 is never set on x86, while
X86 is always set. So to Kconfig it it appears like a recursive
dependency.

The best workaround I can see is to have an intermediate symbol
on ARM64 that is invisible to Kconfig on x86, like

config ARCH_SUPPORTS_ACPI
def_bool EFI

and then have ACPI depend on that.

Arnd