Re: [PATCH 1/5] kconfig: include common Kconfig files from top-level Kconfig

From: Randy Dunlap
Date: Mon Jul 02 2018 - 16:41:33 EST


On 07/02/18 07:47, Christoph Hellwig wrote:
> Instead of duplicating the source statements in every architecture just
> do it once in the toplevel Kconfig file.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> ---
> Kconfig | 22 ++++++++++++++++++++++
> arch/alpha/Kconfig | 20 --------------------
> arch/arc/Kconfig | 16 ----------------
> arch/arm/Kconfig | 25 -------------------------
> arch/arm64/Kconfig | 23 -----------------------
> arch/c6x/Kconfig | 24 ------------------------
> arch/h8300/Kconfig | 24 ------------------------
> arch/hexagon/Kconfig | 16 ----------------
> arch/ia64/Kconfig | 20 --------------------
> arch/m68k/Kconfig | 24 ------------------------
> arch/microblaze/Kconfig | 24 ------------------------
> arch/mips/Kconfig | 24 ------------------------
> arch/nds32/Kconfig | 16 ----------------
> arch/nios2/Kconfig | 24 ------------------------
> arch/openrisc/Kconfig | 23 -----------------------
> arch/parisc/Kconfig | 24 ------------------------
> arch/powerpc/Kconfig | 19 -------------------
> arch/riscv/Kconfig | 24 ------------------------
> arch/s390/Kconfig | 24 ------------------------
> arch/sh/Kconfig | 24 ------------------------
> arch/sparc/Kconfig | 24 ------------------------
> arch/unicore32/Kconfig | 24 ------------------------
> arch/x86/Kconfig | 22 +---------------------
> arch/xtensa/Kconfig | 25 -------------------------
> 24 files changed, 23 insertions(+), 512 deletions(-)
>
> diff --git a/Kconfig b/Kconfig
> index a90d9f9e268b..5499b1273ba5 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -10,3 +10,25 @@ comment "Compiler: $(CC_VERSION_TEXT)"
> source "scripts/Kconfig.include"
>
> source "arch/$(SRCARCH)/Kconfig"
> +
> +source "init/Kconfig"
> +
> +source "kernel/Kconfig.freezer"
> +
> +menu "Executable file formats"
> +source "fs/Kconfig.binfmt"
> +endmenu
> +
> +source "mm/Kconfig"
> +
> +source "net/Kconfig"
> +
> +source "drivers/Kconfig"
> +
> +source "fs/Kconfig"
> +
> +source "security/Kconfig"
> +
> +source "crypto/Kconfig"
> +
> +source "lib/Kconfig"

FWIW, I prefer this modification, but it's not a deal breaker.

---
From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

Present "General setup" before "Processor type and features".
This is done by sourcing arch/$(SRCARCH)/Kconfig before arch/Kconfig
inside init/Kconfig.

Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
---
Kconfig | 2 --
init/Kconfig | 6 ++++++
2 files changed, 6 insertions(+), 2 deletions(-)

--- linux-next-20180702.orig/Kconfig
+++ linux-next-20180702/Kconfig
@@ -9,8 +9,6 @@ comment "Compiler: $(CC_VERSION_TEXT)"

source "scripts/Kconfig.include"

-source "arch/$(SRCARCH)/Kconfig"
-
source "init/Kconfig"

source "kernel/Kconfig.freezer"
--- linux-next-20180702.orig/init/Kconfig
+++ linux-next-20180702/init/Kconfig
@@ -1717,6 +1717,12 @@ config PROFILING
config TRACEPOINTS
bool

+# Note: arch/$(SRCARCH)/Kconfig needs to be before arch/Kconfig
+# so that each $ARCH can specify its values for CONFIG_PGTABLE_LEVELS
+# before the default value is found in arch/Kconfig.
+
+source "arch/$(SRCARCH)/Kconfig"
+
source "arch/Kconfig"

endmenu # General setup