Skip to contentSkip to conversation

Platform specific kconfig clean-ups

PATCH New Rob Herring 3 participants 6 messages Jun 10, 2014 – Jun 13, 2014

Subsystems (14)
lore
Share & tools
lore
#0 lore raw

cover Platform specific kconfig clean-ups

From: Rob Herring <[email protected]>

This series is mainly to fix the mess of config options enabling Exynos creates. However, there is a general inconsistency in how platform specific options are handled, so I've converted all to use menuconfig instead of a separate menu or inline options.

Both patches should be applied for 3.16.

Rob

Rob Herring (2):
ARM: exynos: cleanup kconfig option display
ARM: use menuconfig for sub-arch menus

 arch/arm/Kconfig               |  3 +--
 arch/arm/mach-bcm/Kconfig      |  7 +++----
 arch/arm/mach-berlin/Kconfig   |  6 +-----
 arch/arm/mach-cns3xxx/Kconfig  |  7 +++----
 arch/arm/mach-exynos/Kconfig   |  6 +-----
 arch/arm/mach-imx/Kconfig      |  7 +++----
 arch/arm/mach-moxart/Kconfig   |  2 +-
 arch/arm/mach-mvebu/Kconfig    |  6 +-----
 arch/arm/mach-nomadik/Kconfig  |  4 +---
 arch/arm/mach-omap2/Kconfig    |  9 ++++++---
 arch/arm/mach-prima2/Kconfig   |  6 ++----
 arch/arm/mach-qcom/Kconfig     |  6 +-----
 arch/arm/mach-shmobile/Kconfig |  4 ++--
 arch/arm/mach-tegra/Kconfig    |  7 +++----
 arch/arm/mach-u300/Kconfig     |  6 +-----
 arch/arm/mach-ux500/Kconfig    |  6 +-----
 arch/arm/mach-vexpress/Kconfig |  7 +++----
 arch/arm/plat-samsung/Kconfig  | 17 +++--------------
 18 files changed, 37 insertions(+), 79 deletions(-)
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/2 ARM: exynos: cleanup kconfig option display

From: Rob Herring <[email protected]>

The addition of Exynos to multi-platform configs creates a mess of config options with options appearing before the Exynos config option. This is due to arch/arm/plat-samsung/Kconfig being included out of order with the other Samsung platform kconfig files. Reorder the kconfig files and move all the options into a sub-menu. Some of the options are dead, so remove those as well.

Cc Ben Dooks <[email protected]>
Cc Kukjin Kim <[email protected]>
Cc linux-samsung-soc at vger.kernel.org
---
 arch/arm/Kconfig              |  3 +--
 arch/arm/plat-samsung/Kconfig | 17 +++--------------
 2 files changed, 4 insertions(+), 16 deletions(-)
arch/arm/Kconfig +1 -2
index 87b63fd..cbf0c37 100644
@@ -1009,8 +1009,6 @@ source "arch/arm/mach-rockchip/Kconfig"
 
 source "arch/arm/mach-sa1100/Kconfig"
 
-source "arch/arm/plat-samsung/Kconfig"
-
 source "arch/arm/mach-socfpga/Kconfig"
 
 source "arch/arm/mach-spear/Kconfig"
@@ -1028,6 +1026,7 @@ source "arch/arm/mach-s5pc100/Kconfig"
 source "arch/arm/mach-s5pv210/Kconfig"
 
 source "arch/arm/mach-exynos/Kconfig"
+source "arch/arm/plat-samsung/Kconfig"
 
 source "arch/arm/mach-shmobile/Kconfig"
 
arch/arm/plat-samsung/Kconfig +3 -14
index 243dfcb..ac032cd 100644
@@ -35,27 +35,15 @@ config SAMSUNG_PM
 	  Base platform power management code for samsung code
 
 if PLAT_SAMSUNG
+menu "Samsung Common options"
 
 # boot configurations
 
 comment "Boot options"
 
-config S3C_BOOT_ERROR_RESET
-	bool "S3C Reboot on decompression error"
-	help
-	  Say y here to use the watchdog to reset the system if the
-	  kernel decompressor detects an error during decompression.
-
-config S3C_BOOT_UART_FORCE_FIFO
-       bool "Force UART FIFO on during boot process"
-       default y
-       help
-         Say Y here to force the UART FIFOs on during the kernel
-	 uncompressor
-
-
 config S3C_LOWLEVEL_UART_PORT
 	int "S3C UART to use for low-level messages"
+	depends on ARCH_S3C64XX
 	default 0
 	help
 	  Choice of which UART port to use for the low-level messages,
@@ -503,4 +491,5 @@ config DEBUG_S3C_UART
 	default "2" if DEBUG_S3C_UART2
 	default "3" if DEBUG_S3C_UART3
 
+endmenu
 endif
Signature · 1 line
1.9.1
#2 lore raw

PATCH 1/2 ARM: exynos: cleanup kconfig option display

Quoted 10 lines · Rob Herring

From: Rob Herring <[email protected]>

The addition of Exynos to multi-platform configs creates a mess of config options with options appearing before the Exynos config option. This is due to arch/arm/plat-samsung/Kconfig being included out of order with the other Samsung platform kconfig files. Reorder the kconfig files and move all the options into a sub-menu. Some of the options are dead, so remove those as well.

Quoted 3 lines

Looks nice to me :-)

Thanks,
Kukjin

Quoted 69 lines
Cc linux-samsung-soc at vger.kernel.org
---
 arch/arm/Kconfig              |  3 +--
 arch/arm/plat-samsung/Kconfig | 17 +++--------------
 2 files changed, 4 insertions(+), 16 deletions(-)
arch/arm/Kconfig +1 -2
index 87b63fd..cbf0c37 100644
@@ -1009,8 +1009,6 @@ source "arch/arm/mach-rockchip/Kconfig"
 
 source "arch/arm/mach-sa1100/Kconfig"
 
-source "arch/arm/plat-samsung/Kconfig"
-
 source "arch/arm/mach-socfpga/Kconfig"
 
 source "arch/arm/mach-spear/Kconfig"
@@ -1028,6 +1026,7 @@ source "arch/arm/mach-s5pc100/Kconfig"
 source "arch/arm/mach-s5pv210/Kconfig"
 
 source "arch/arm/mach-exynos/Kconfig"
+source "arch/arm/plat-samsung/Kconfig"
 
 source "arch/arm/mach-shmobile/Kconfig"
 
arch/arm/plat-samsung/Kconfig +3 -15
index 243dfcb..ac032cd 100644
@@ -35,27 +35,15 @@ config SAMSUNG_PM
 	  Base platform power management code for samsung code
 
 if PLAT_SAMSUNG
+menu "Samsung Common options"
 
 # boot configurations
 
 comment "Boot options"
 
-config S3C_BOOT_ERROR_RESET
-	bool "S3C Reboot on decompression error"
-	help
-	  Say y here to use the watchdog to reset the system if the
-	  kernel decompressor detects an error during decompression.
-
-config S3C_BOOT_UART_FORCE_FIFO
-       bool "Force UART FIFO on during boot process"
-       default y
-       help
-         Say Y here to force the UART FIFOs on during the kernel
-	 uncompressor
-
-
 config S3C_LOWLEVEL_UART_PORT
 	int "S3C UART to use for low-level messages"
+	depends on ARCH_S3C64XX
 	default 0
 	help
 	  Choice of which UART port to use for the low-level messages,
@@ -503,4 +491,5 @@ config DEBUG_S3C_UART
 	default "2" if DEBUG_S3C_UART2
 	default "3" if DEBUG_S3C_UART3
 
+endmenu
 endif
--

1.9.1

#3 lore raw

PATCH 2/2 ARM: use menuconfig for sub-arch menus

In reply to Rob Herring

From: Rob Herring <[email protected]>

The System Type menu is getting quite long with platforms and is inconsistent in handling of sub-arch specific options. Tidy up the menu by making platform options a menuconfig entry containing any platform specific config items.

---
 arch/arm/mach-bcm/Kconfig      | 7 +++----
 arch/arm/mach-berlin/Kconfig   | 6 +-----
 arch/arm/mach-cns3xxx/Kconfig  | 7 +++----
 arch/arm/mach-exynos/Kconfig   | 6 +-----
 arch/arm/mach-imx/Kconfig      | 7 +++----
 arch/arm/mach-moxart/Kconfig   | 2 +-
 arch/arm/mach-mvebu/Kconfig    | 6 +-----
 arch/arm/mach-nomadik/Kconfig  | 4 +---
 arch/arm/mach-omap2/Kconfig    | 9 ++++++---
 arch/arm/mach-prima2/Kconfig   | 6 ++----
 arch/arm/mach-qcom/Kconfig     | 6 +-----
 arch/arm/mach-shmobile/Kconfig | 4 ++--
 arch/arm/mach-tegra/Kconfig    | 7 +++----
 arch/arm/mach-u300/Kconfig     | 6 +-----
 arch/arm/mach-ux500/Kconfig    | 6 +-----
 arch/arm/mach-vexpress/Kconfig | 7 +++----
 16 files changed, 33 insertions(+), 63 deletions(-)
arch/arm/mach-bcm/Kconfig +3 -4
index 9bc6db1..41c8391 100644
@@ -1,10 +1,9 @@
-config ARCH_BCM
+menuconfig ARCH_BCM
 	bool "Broadcom SoC Support" if ARCH_MULTI_V6_V7
 	help
 	  This enables support for Broadcom ARM based SoC chips
 
-menu "Broadcom SoC Selection"
-	depends on ARCH_BCM
+if ARCH_BCM
 
 config ARCH_BCM_MOBILE
 	bool "Broadcom Mobile SoC Support" if ARCH_MULTI_V7
@@ -88,4 +87,4 @@ config ARCH_BCM_5301X
 	  different SoC or with the older BCM47XX and BCM53XX based
 	  network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
 
-endmenu
+endif
arch/arm/mach-berlin/Kconfig +1 -5
index 101e0f3..2631cfc 100644
@@ -1,4 +1,4 @@
-config ARCH_BERLIN
+menuconfig ARCH_BERLIN
 	bool "Marvell Berlin SoCs" if ARCH_MULTI_V7
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_GIC
@@ -9,8 +9,6 @@ config ARCH_BERLIN
 
 if ARCH_BERLIN
 
-menu "Marvell Berlin SoC variants"
-
 config MACH_BERLIN_BG2
 	bool "Marvell Armada 1500 (BG2)"
 	select CACHE_L2X0
@@ -30,6 +28,4 @@ config MACH_BERLIN_BG2Q
 	select HAVE_ARM_TWD if SMP
 	select PINCTRL_BERLIN_BG2Q
 
-endmenu
-
 endif
arch/arm/mach-cns3xxx/Kconfig +3 -4
index 66838f4..3c22a19 100644
@@ -1,12 +1,11 @@
-config ARCH_CNS3XXX
+menuconfig ARCH_CNS3XXX
 	bool "Cavium Networks CNS3XXX family" if ARCH_MULTI_V6
 	select ARM_GIC
 	select PCI_DOMAINS if PCI
 	help
 	  Support for Cavium Networks CNS3XXX platform.
 
-menu "CNS3XXX platform type"
-	depends on ARCH_CNS3XXX
+if ARCH_CNS3XXX
 
 config MACH_CNS3420VB
 	bool "Support for CNS3420 Validation Board"
@@ -17,4 +16,4 @@ config MACH_CNS3420VB
 	  This is a platform with an on-board ARM11 MPCore and has support
 	  for USB, USB-OTG, MMC/SD/SDIO, SATA, PCI-E, etc.
 
-endmenu
+endif
arch/arm/mach-exynos/Kconfig +1 -5
index d58995c9..cf01d95 100644
@@ -7,7 +7,7 @@
 
 # Configuration options for the EXYNOS4
 
-config ARCH_EXYNOS
+menuconfig ARCH_EXYNOS
 	bool "Samsung EXYNOS" if ARCH_MULTI_V7
 	select ARCH_HAS_BANDGAP
 	select ARCH_HAS_CPUFREQ
@@ -30,8 +30,6 @@ config ARCH_EXYNOS
 
 if ARCH_EXYNOS
 
-menu "SAMSUNG EXYNOS SoCs Support"
-
 config ARCH_EXYNOS3
 	bool "SAMSUNG EXYNOS3"
 	select ARM_CPU_SUSPEND if PM
@@ -118,8 +116,6 @@ config SOC_EXYNOS5800
 	default y
 	depends on SOC_EXYNOS5420
 
-endmenu
-
 config EXYNOS5420_MCPM
 	bool "Exynos5420 Multi-Cluster PM support"
 	depends on MCPM && SOC_EXYNOS5420
arch/arm/mach-imx/Kconfig +3 -4
index 8d42eab..dc9bd25 100644
@@ -1,4 +1,4 @@
-config ARCH_MXC
+menuconfig ARCH_MXC
 	bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7
 	select ARCH_HAS_CPUFREQ
 	select ARCH_HAS_OPP
@@ -13,8 +13,7 @@ config ARCH_MXC
 	help
 	  Support for Freescale MXC/iMX-based family of processors
 
-menu "Freescale i.MX support"
-	depends on ARCH_MXC
+if ARCH_MXC
 
 config MXC_TZIC
 	bool
@@ -786,4 +785,4 @@ endif
 
 source "arch/arm/mach-imx/devices/Kconfig"
 
-endmenu
+endif
arch/arm/mach-moxart/Kconfig +1 -1
index 82a4ba8..f49328c 100644
@@ -1,4 +1,4 @@
-config ARCH_MOXART
+menuconfig ARCH_MOXART
 	bool "MOXA ART SoC" if ARCH_MULTI_V4
 	select CPU_FA526
 	select ARM_DMA_MEM_BUFFERABLE
arch/arm/mach-mvebu/Kconfig +1 -5
index 6090b9e..6b3d40a 100644
@@ -1,4 +1,4 @@
-config ARCH_MVEBU
+menuconfig ARCH_MVEBU
 	bool "Marvell Engineering Business Unit (MVEBU) SoCs" if (ARCH_MULTI_V7 || ARCH_MULTI_V5)
 	select ARCH_SUPPORTS_BIG_ENDIAN
 	select CLKSRC_MMIO
@@ -13,8 +13,6 @@ config ARCH_MVEBU
 
 if ARCH_MVEBU
 
-menu "Marvell EBU SoC variants"
-
 config MACH_MVEBU_V7
 	bool
 	select ARMADA_370_XP_TIMER
@@ -97,6 +95,4 @@ config MACH_KIRKWOOD
 	  Say 'Y' here if you want your kernel to support boards based
 	  on the Marvell Kirkwood device tree.
 
-endmenu
-
 endif
arch/arm/mach-nomadik/Kconfig +1 -3
index 486d301..3c61096 100644
@@ -1,4 +1,4 @@
-config ARCH_NOMADIK
+menuconfig ARCH_NOMADIK
 	bool "ST-Ericsson Nomadik"
 	depends on ARCH_MULTI_V5
 	select ARCH_REQUIRE_GPIOLIB
@@ -15,7 +15,6 @@ config ARCH_NOMADIK
 	  Support for the Nomadik platform by ST-Ericsson
 
 if ARCH_NOMADIK
-menu "Nomadik boards"
 
 config MACH_NOMADIK_8815NHK
 	bool "ST 8815 Nomadik Hardware Kit (evaluation board)"
@@ -24,7 +23,6 @@ config MACH_NOMADIK_8815NHK
 	select I2C_ALGOBIT
 	select I2C_NOMADIK
 
-endmenu
 endif
 
 config NOMADIK_8815
arch/arm/mach-omap2/Kconfig +6 -3
index 0ba4826..94011aa 100644
@@ -1,5 +1,7 @@
-config ARCH_OMAP
-	bool
+menuconfig ARCH_OMAP
+	bool "TI OMAP/AM/DRA Based" if (ARCH_MULTI_V6 || ARCH_MULTI_V7)
+
+if ARCH_OMAP
 
 config ARCH_OMAP2
 	bool "TI OMAP2"
@@ -82,7 +84,6 @@ config ARCH_OMAP2PLUS
 	select ARCH_HAS_BANDGAP
 	select ARCH_HAS_CPUFREQ
 	select ARCH_HAS_HOLES_MEMORYMODEL
-	select ARCH_OMAP
 	select ARCH_REQUIRE_GPIOLIB
 	select CLKSRC_MMIO
 	select GENERIC_IRQ_CHIP
@@ -343,3 +344,5 @@ config OMAP4_ERRATA_I688
 endmenu
 
 endif
+
+endif
arch/arm/mach-prima2/Kconfig +2 -4
index e4e505f..042f693 100644
@@ -1,4 +1,4 @@
-config ARCH_SIRF
+menuconfig ARCH_SIRF
 	bool "CSR SiRF" if ARCH_MULTI_V7
 	select ARCH_HAS_RESET_CONTROLLER
 	select ARCH_REQUIRE_GPIOLIB
@@ -11,7 +11,7 @@ config ARCH_SIRF
 
 if ARCH_SIRF
 
-menu "CSR SiRF atlas6/primaII/Marco/Polo Specific Features"
+comment "CSR SiRF atlas6/primaII/Marco/Polo Specific Features"
 
 config ARCH_ATLAS6
 	bool "CSR SiRFSoC ATLAS6 ARM Cortex A9 Platform"
@@ -37,8 +37,6 @@ config ARCH_MARCO
 	help
           Support for CSR SiRFSoC ARM Cortex A9 Platform
 
-endmenu
-
 config SIRF_IRQ
 	bool
 
arch/arm/mach-qcom/Kconfig +1 -5
index fd2b99d..ee5697b 100644
@@ -1,4 +1,4 @@
-config ARCH_QCOM
+menuconfig ARCH_QCOM
 	bool "Qualcomm Support" if ARCH_MULTI_V7
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_GIC
@@ -11,8 +11,6 @@ config ARCH_QCOM
 
 if ARCH_QCOM
 
-menu "Qualcomm SoC Selection"
-
 config ARCH_MSM8X60
 	bool "Enable support for MSM8X60"
 	select CLKSRC_QCOM
@@ -25,8 +23,6 @@ config ARCH_MSM8974
 	bool "Enable support for MSM8974"
 	select HAVE_ARM_ARCH_TIMER
 
-endmenu
-
 config QCOM_SCM
 	bool
 
arch/arm/mach-shmobile/Kconfig +2 -2
index dbd954e..0e7f6fa 100644
@@ -1,7 +1,7 @@
 config ARCH_SHMOBILE
 	bool
 
-config ARCH_SHMOBILE_MULTI
+menuconfig ARCH_SHMOBILE_MULTI
 	bool "Renesas ARM SoCs" if ARCH_MULTI_V7
 	depends on MMU
 	select ARCH_SHMOBILE
@@ -15,7 +15,7 @@ config ARCH_SHMOBILE_MULTI
 
 if ARCH_SHMOBILE_MULTI
 
-comment "Renesas ARM SoCs System Type"
+#comment "Renesas ARM SoCs System Type"
 
 config ARCH_EMEV2
 	bool "Emma Mobile EV2"
arch/arm/mach-tegra/Kconfig +3 -4
index e16999e..87bd2b2 100644
@@ -1,4 +1,4 @@
-config ARCH_TEGRA
+menuconfig ARCH_TEGRA
 	bool "NVIDIA Tegra" if ARCH_MULTI_V7
 	select ARCH_HAS_CPUFREQ
 	select ARCH_REQUIRE_GPIOLIB
@@ -16,8 +16,7 @@ config ARCH_TEGRA
 	help
 	  This enables support for NVIDIA Tegra based systems.
 
-menu "NVIDIA Tegra options"
-	depends on ARCH_TEGRA
+if ARCH_TEGRA
 
 config ARCH_TEGRA_2x_SOC
 	bool "Enable support for Tegra20 family"
@@ -69,4 +68,4 @@ config TEGRA_AHB
 	  which controls AHB bus master arbitration and some
 	  performance parameters(priority, prefech size).
 
-endmenu
+endif
arch/arm/mach-u300/Kconfig +1 -5
index e3a96d7..bc51a71 100644
@@ -1,4 +1,4 @@
-config ARCH_U300
+menuconfig ARCH_U300
 	bool "ST-Ericsson U300 Series" if ARCH_MULTI_V5
 	depends on MMU
 	select ARCH_REQUIRE_GPIOLIB
@@ -16,8 +16,6 @@ config ARCH_U300
 
 if ARCH_U300
 
-menu "ST-Ericsson AB U300/U335 Platform"
-
 config MACH_U300
 	depends on ARCH_U300
 	bool "U300"
@@ -43,6 +41,4 @@ config MACH_U300_SPIDUMMY
 		you don't need it. Selecting this will activate the
 		SPI framework and ARM PL022 support.
 
-endmenu
-
 endif
arch/arm/mach-ux500/Kconfig +1 -5
index b41a42d..11f3837 100644
@@ -1,4 +1,4 @@
-config ARCH_U8500
+menuconfig ARCH_U8500
 	bool "ST-Ericsson U8500 Series" if ARCH_MULTI_V7
 	depends on MMU
 	select AB8500_CORE
@@ -34,8 +34,6 @@ config UX500_SOC_DB8500
 	select REGULATOR
 	select REGULATOR_DB8500_PRCMU
 
-menu "Ux500 target platform (boards)"
-
 config MACH_MOP500
 	bool "U8500 Development platform, MOP500 versions"
 	select I2C
@@ -68,8 +66,6 @@ config UX500_AUTO_PLATFORM
 	  a working kernel. If everything else is disabled, this
 	  automatically enables MACH_MOP500.
 
-endmenu
-
 config UX500_DEBUG_UART
 	int "Ux500 UART to use for low-level debug"
 	default 2
arch/arm/mach-vexpress/Kconfig +3 -4
index 90249cf..e7fd09c 100644
@@ -1,4 +1,4 @@
-config ARCH_VEXPRESS
+menuconfig ARCH_VEXPRESS
 	bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_SUPPORTS_BIG_ENDIAN
@@ -37,8 +37,7 @@ config ARCH_VEXPRESS
 	  platforms. The traditional (ATAGs) boot method is not usable on
 	  these boards with this option.
 
-menu "Versatile Express platform type"
-	depends on ARCH_VEXPRESS
+if ARCH_VEXPRESS
 
 config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
 	bool "Enable A5 and A9 only errata work-arounds"
@@ -83,4 +82,4 @@ config ARCH_VEXPRESS_TC2_PM
 	  Support for CPU and cluster power management on Versatile Express
 	  with a TC2 (A15x2 A7x3) big.LITTLE core tile.
 
-endmenu
+endif
Signature · 1 line
1.9.1
#4 lore raw

PATCH 2/2 ARM: use menuconfig for sub-arch menus

Quoted 9 lines · On Tuesday 10 June 2014 09:06:10 Rob Herring wrote:

From: Rob Herring <[email protected]>

The System Type menu is getting quite long with platforms and is inconsistent in handling of sub-arch specific options. Tidy up the menu by making platform options a menuconfig entry containing any platform specific config items.

Excellent! I actually have a similar patch in my queue of stuff to look at again. If there are no objections, I'd prefer to queue yours up as a fix for 3.16.

Arnd

#5 lore raw

PATCH 2/2 ARM: use menuconfig for sub-arch menus

Quoted 8 lines · Arnd Bergmann
Quoted 7 lines · On Tuesday 10 June 2014 09:06:10 Rob Herring wrote:

From: Rob Herring <[email protected]>

The System Type menu is getting quite long with platforms and is inconsistent in handling of sub-arch specific options. Tidy up the menu by making platform options a menuconfig entry containing any platform specific config items.

Quoted 7 lines
Quoted 2 lines

Excellent! I actually have a similar patch in my queue of stuff to look at again. If there are no objections, I'd prefer to queue yours up as a fix for 3.16.

Queued both now in the fixes branch

Arnd