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

From: Dmitry Osipenko <[email-masked]>
Date: Thu, 3 Jun 2021 17:03:38 +0300

03.06.2021 15:18, Thierry Reding пишет:
> On Thu, Jun 03, 2021 at 05:01:48AM +0300, Dmitry Osipenko wrote:
>> 03.06.2021 03:35, Stephen Rothwell пишет:
>>> Hi all,
>>>
>>> After merging the tegra tree, today's linux-next build (x86_64
>>> allmodconfig) produced this warning:
>>>
>>> WARNING: unmet direct dependencies detected for TEGRA210_EMC_TABLE
>>>   Depends on [n]: MEMORY [=y] && TEGRA_MC [=y] && ARCH_TEGRA_210_SOC [=n]
>>>   Selected by [m]:
>>>   - TEGRA210_EMC [=m] && MEMORY [=y] && TEGRA_MC [=y] && (ARCH_TEGRA_210_SOC [=n] || COMPILE_TEST [=y])
>>>
>>> Probably introduced by commit
>>>
>>>   08decdd5b448 ("memory: tegra: Enable compile testing for all drivers")
>>>
>>
>> Thank you. This is a new warning to me, apparently this case wasn't previously tested by kernel build bot.
>>
>> Perhaps this should fix it:
>>
>> diff --git a/drivers/memory/tegra/Kconfig b/drivers/memory/tegra/Kconfig
>> index 71bba2345bce..3f2fa7750118 100644
>> --- a/drivers/memory/tegra/Kconfig
>> +++ b/drivers/memory/tegra/Kconfig
>> @@ -47,7 +47,6 @@ config TEGRA124_EMC
>>  
>>  config TEGRA210_EMC_TABLE
>>  	bool
>> -	depends on ARCH_TEGRA_210_SOC
> 
> Why not just add a || COMPILE_TEST like we do for TEGRA210_EMC? Because
> TEGRA210_EMC being pulled in under COMPILE_TEST (and then pulling in
> TEGRA210_EMC_TABLE which is missing the alternative path) seems to be
> the root cause for this.

The anonymous Kconfig entry is unavailable by default, it can be only
selected by other entry, IIUC. In our case the TEGRA210_EMC_TABLE is
selected by TEGRA210_EMC, hence additional dependencies aren't needed
for TEGRA210_EMC_TABLE.