Re: [PATCH 4/9] kconfig: include common Kconfig files from top-level Kconfig
From: Randy Dunlap
Date: Tue Jul 17 2018 - 02:44:58 EST
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.
>
>>
>>>
>>> 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