Re: [PATCH 4/9] kconfig: include common Kconfig files from top-level Kconfig

From: Randy Dunlap
Date: Tue Jul 17 2018 - 02:55:58 EST


On 07/16/2018 11:44 PM, Randy Dunlap wrote:
> On 07/16/2018 11:42 PM, Randy Dunlap wrote:
>> On 07/16/2018 11:33 PM, Randy Dunlap wrote:
>>> On 07/11/2018 05:21 AM, Masahiro Yamada wrote:
>>>> 2018-07-09 0:19 GMT+09:00 Christoph Hellwig <hch@xxxxxx>:
>>>>> Instead of duplicating the source statements in every architecture just
>>>>> do it once in the toplevel Kconfig file.
>>>>>
>>>>> Note that with this the inclusion of arch/$(SRCARCH/Kconfig moves out of
>>>>> the top-level Kconfig into arch/Kconfig so that don't violate ordering
>>>>> constraits while keeping a sensible menu structure.
>>>>>
>>>>> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
>>>>
>>>>
>>>>> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
>>>>> index dd4f3d3e644f..7ab7b148181b 100644
>>>>> --- a/arch/sh/Kconfig
>>>>> +++ b/arch/sh/Kconfig
>>>>> @@ -168,10 +168,6 @@ config PGTABLE_LEVELS
>>>>> default 3 if X2TLB
>>>>> default 2
>>>>>
>>>>> -source "init/Kconfig"
>>>>> -
>>>>> -source "kernel/Kconfig.freezer"
>>>>> -
>>>>> menu "System type"
>>>>>
>>>>> #
>>>>> @@ -553,8 +549,6 @@ endchoice
>>>>>
>>>>> endif
>>>>>
>>>>> -source "arch/sh/mm/Kconfig"
>>>>
>>>>
>>>> I noticed at least sh is broken
>>>> because "arch/sh/mm/Kconfig" is no longer included by anyone.
>>>>
>>>> I am not doing further tests.
>>>>
>>>
>>> Hi,
>>>
>>> Thanks for noticing that.
>>>
>>> I have tested all $ARCH (except um) with "allmodconfig" and so far, arch/sh/
>>> is the only one that has a problem.
>>>
>>
>> Well, there are 3 $ARCH-es that have an arch/$ARCH/mm/Kconfig file:
>> arm, sh, and unicore32.
>>
>> We can either merge those into arch/$ARCH/Kconfig or we can source
>> arch/$ARCH/mm/Kconfig for all $ARCH (where most of these files will be
>> empty).
>>
>> Christoph, thoughts/ideas?
>>
>
> The first option (merge into arch/$ARCH/Kconfig) is not a good option.
> Some of these mm/Kconfig files are Large, so the second option is the only
> one that makes sense to me.
>

All that *should* be needed is to add

source arch/sh/mm/Kconfig into arch/sh/Kconfig (as is done in arm and unicore32),
but that causes lots of .config diffs (as seen by scripts/diffconfig).

and I can't work on this any more tonight. :)


>>>> Please test *ALL* architectures.
>>>>
>>>> If possible, matrix tests (arch, config-target), where
>>>> arch = arm, arm64, ...
>>>> config-target = allyesconfig, allnoconfig, alldefconfig, ...
>>>>
>>>>
>>>> Note:
>>>> scripts/diffconf is helpful.


--
~Randy