diff options
author | Dave Martin <dave.martin@linaro.org> | 2011-12-07 10:38:04 -0500 |
---|---|---|
committer | Dave Martin <dave.martin@linaro.org> | 2011-12-19 08:47:39 -0500 |
commit | 3b55658aefbf82646a246f3c8a14b9b8a24198a9 (patch) | |
tree | 9d878552336a55c8eff7745e43cc6e5108cf6dce /arch/arm/Kconfig | |
parent | ce5ea9f3767e8589521319cae2eb6e05c52bd056 (diff) |
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: Dave Martin <dave.martin@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
(for nomadik, ux500)
Acked-by: Tony Lindgren <tony@atomide.com>
(for omap)
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
(for exynos)
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
(for imx)
Acked-by: Olof Johansson <olof@lixom.net>
(for tegra)
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 16a4b9e689be..eca82f9a717a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -344,6 +344,7 @@ config ARCH_HIGHBANK | |||
344 | select CPU_V7 | 344 | select CPU_V7 |
345 | select GENERIC_CLOCKEVENTS | 345 | select GENERIC_CLOCKEVENTS |
346 | select HAVE_ARM_SCU | 346 | select HAVE_ARM_SCU |
347 | select HAVE_SMP | ||
347 | select MIGHT_HAVE_CACHE_L2X0 | 348 | select MIGHT_HAVE_CACHE_L2X0 |
348 | select USE_OF | 349 | select USE_OF |
349 | help | 350 | help |
@@ -636,6 +637,7 @@ config ARCH_TEGRA | |||
636 | select GENERIC_GPIO | 637 | select GENERIC_GPIO |
637 | select HAVE_CLK | 638 | select HAVE_CLK |
638 | select HAVE_SCHED_CLOCK | 639 | select HAVE_SCHED_CLOCK |
640 | select HAVE_SMP | ||
639 | select MIGHT_HAVE_CACHE_L2X0 | 641 | select MIGHT_HAVE_CACHE_L2X0 |
640 | select ARCH_HAS_CPUFREQ | 642 | select ARCH_HAS_CPUFREQ |
641 | help | 643 | help |
@@ -706,6 +708,7 @@ config ARCH_SHMOBILE | |||
706 | select HAVE_CLK | 708 | select HAVE_CLK |
707 | select CLKDEV_LOOKUP | 709 | select CLKDEV_LOOKUP |
708 | select HAVE_MACH_CLKDEV | 710 | select HAVE_MACH_CLKDEV |
711 | select HAVE_SMP | ||
709 | select GENERIC_CLOCKEVENTS | 712 | select GENERIC_CLOCKEVENTS |
710 | select MIGHT_HAVE_CACHE_L2X0 | 713 | select MIGHT_HAVE_CACHE_L2X0 |
711 | select NO_IOPORT | 714 | select NO_IOPORT |
@@ -909,6 +912,7 @@ config ARCH_U8500 | |||
909 | select CLKDEV_LOOKUP | 912 | select CLKDEV_LOOKUP |
910 | select ARCH_REQUIRE_GPIOLIB | 913 | select ARCH_REQUIRE_GPIOLIB |
911 | select ARCH_HAS_CPUFREQ | 914 | select ARCH_HAS_CPUFREQ |
915 | select HAVE_SMP | ||
912 | select MIGHT_HAVE_CACHE_L2X0 | 916 | select MIGHT_HAVE_CACHE_L2X0 |
913 | help | 917 | help |
914 | Support for ST-Ericsson's Ux500 architecture | 918 | Support for ST-Ericsson's Ux500 architecture |
@@ -1430,14 +1434,20 @@ menu "Kernel Features" | |||
1430 | 1434 | ||
1431 | source "kernel/time/Kconfig" | 1435 | source "kernel/time/Kconfig" |
1432 | 1436 | ||
1437 | config HAVE_SMP | ||
1438 | bool | ||
1439 | help | ||
1440 | This option should be selected by machines which have an SMP- | ||
1441 | capable CPU. | ||
1442 | |||
1443 | The only effect of this option is to make the SMP-related | ||
1444 | options available to the user for configuration. | ||
1445 | |||
1433 | config SMP | 1446 | config SMP |
1434 | bool "Symmetric Multi-Processing" | 1447 | bool "Symmetric Multi-Processing" |
1435 | depends on CPU_V6K || CPU_V7 | 1448 | depends on CPU_V6K || CPU_V7 |
1436 | depends on GENERIC_CLOCKEVENTS | 1449 | depends on GENERIC_CLOCKEVENTS |
1437 | depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \ | 1450 | depends on HAVE_SMP |
1438 | MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \ | ||
1439 | ARCH_EXYNOS4 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4 || \ | ||
1440 | ARCH_MSM_SCORPIONMP || ARCH_SHMOBILE || ARCH_HIGHBANK || SOC_IMX6Q | ||
1441 | depends on MMU | 1451 | depends on MMU |
1442 | select USE_GENERIC_SMP_HELPERS | 1452 | select USE_GENERIC_SMP_HELPERS |
1443 | select HAVE_ARM_SCU if !ARCH_MSM_SCORPIONMP | 1453 | select HAVE_ARM_SCU if !ARCH_MSM_SCORPIONMP |