Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b55658a authored by Dave Martin's avatar Dave Martin
Browse files

ARM: SMP: Refactor Kconfig to be more maintainable



Making SMP depend on (huge list of MACH_ and ARCH_ configs) is
bothersome to maintain and likely to lead to merge conflicts.

This patch moves the knowledge of which platforms are SMP-capable
to the individual machines.  To enable this, a new HAVE_SMP config
option is introduced to allow machines to indicate that they can
run in a SMP configuration.

Signed-off-by: default avatarDave Martin <dave.martin@linaro.org>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
        (for nomadik, ux500)
Acked-by: default avatarTony Lindgren <tony@atomide.com>
        (for omap)
Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
        (for exynos)
Acked-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
        (for imx)
Acked-by: default avatarOlof Johansson <olof@lixom.net>
        (for tegra)
parent ce5ea9f3
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -344,6 +344,7 @@ config ARCH_HIGHBANK
	select CPU_V7
	select GENERIC_CLOCKEVENTS
	select HAVE_ARM_SCU
	select HAVE_SMP
	select MIGHT_HAVE_CACHE_L2X0
	select USE_OF
	help
@@ -636,6 +637,7 @@ config ARCH_TEGRA
	select GENERIC_GPIO
	select HAVE_CLK
	select HAVE_SCHED_CLOCK
	select HAVE_SMP
	select MIGHT_HAVE_CACHE_L2X0
	select ARCH_HAS_CPUFREQ
	help
@@ -706,6 +708,7 @@ config ARCH_SHMOBILE
	select HAVE_CLK
	select CLKDEV_LOOKUP
	select HAVE_MACH_CLKDEV
	select HAVE_SMP
	select GENERIC_CLOCKEVENTS
	select MIGHT_HAVE_CACHE_L2X0
	select NO_IOPORT
@@ -909,6 +912,7 @@ config ARCH_U8500
	select CLKDEV_LOOKUP
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_HAS_CPUFREQ
	select HAVE_SMP
	select MIGHT_HAVE_CACHE_L2X0
	help
	  Support for ST-Ericsson's Ux500 architecture
@@ -1430,14 +1434,20 @@ menu "Kernel Features"

source "kernel/time/Kconfig"

config HAVE_SMP
	bool
	help
	  This option should be selected by machines which have an SMP-
	  capable CPU.

	  The only effect of this option is to make the SMP-related
	  options available to the user for configuration.

config SMP
	bool "Symmetric Multi-Processing"
	depends on CPU_V6K || CPU_V7
	depends on GENERIC_CLOCKEVENTS
	depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \
		 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
		 ARCH_EXYNOS4 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4 || \
		 ARCH_MSM_SCORPIONMP || ARCH_SHMOBILE || ARCH_HIGHBANK || SOC_IMX6Q
	depends on HAVE_SMP
	depends on MMU
	select USE_GENERIC_SMP_HELPERS
	select HAVE_ARM_SCU if !ARCH_MSM_SCORPIONMP
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ choice

config ARCH_EXYNOS4
	bool "SAMSUNG EXYNOS4"
	select HAVE_SMP
	select MIGHT_HAVE_CACHE_L2X0
	help
	  Samsung EXYNOS4 SoCs based systems
+1 −0
Original line number Diff line number Diff line
@@ -615,6 +615,7 @@ config SOC_IMX6Q
	select HAVE_IMX_GPC
	select HAVE_IMX_MMDC
	select HAVE_IMX_SRC
	select HAVE_SMP
	select USE_OF

	help
+1 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ config MSM_SOC_REV_A
	bool
config  ARCH_MSM_SCORPIONMP
	bool
	select HAVE_SMP

config  ARCH_MSM_ARM11
	bool
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ config ARCH_OMAP4
	depends on ARCH_OMAP2PLUS
	select CPU_V7
	select ARM_GIC
	select HAVE_SMP
	select LOCAL_TIMERS if SMP
	select MIGHT_HAVE_CACHE_L2X0
	select PL310_ERRATA_588369
Loading