From patchwork Thu Oct 4 08:50:44 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 1545461 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork1.kernel.org (Postfix) with ESMTP id 977A33FD9C for ; Thu, 4 Oct 2012 08:53:11 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1TJh9B-0001oV-1S; Thu, 04 Oct 2012 08:51:09 +0000 Received: from wolverine02.qualcomm.com ([199.106.114.251]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1TJh97-0001o1-LZ for linux-arm-kernel@lists.infradead.org; Thu, 04 Oct 2012 08:51:06 +0000 X-IronPort-AV: E=McAfee;i="5400,1158,6854"; a="243279459" Received: from pdmz-ns-mip.qualcomm.com (HELO mostmsg01.qualcomm.com) ([199.106.114.10]) by wolverine02.qualcomm.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 04 Oct 2012 01:50:46 -0700 Received: from sboyd-linux.qualcomm.com (pdmz-ns-snip_218_1.qualcomm.com [192.168.218.1]) by mostmsg01.qualcomm.com (Postfix) with ESMTPA id E621A10004B3; Thu, 4 Oct 2012 01:50:45 -0700 (PDT) From: Stephen Boyd To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] ARM: Push selects for TWD/SCU into machine entries Date: Thu, 4 Oct 2012 01:50:44 -0700 Message-Id: <1349340644-13937-1-git-send-email-sboyd@codeaurora.org> X-Mailer: git-send-email 1.8.0.rc0.18.gf84667d X-Spam-Note: CRM114 invocation failed X-Spam-Score: -4.2 (----) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-4.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/, medium trust [199.106.114.251 listed in list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: Kukjin Kim , Russell King , Pawel Moll , Srinidhi Kasagar , Tony Lindgren , Linus Walleij , Stephen Warren , linux-kernel@vger.kernel.org, Rob Herring , Shiraz Hashim , Simon Horman , Viresh Kumar , Sascha Hauer , David Brown X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org The TWD and SCU configs are selected by default as long as SCORPIONMP is false and/or MCT is false. Implementing the logic this way certainly saves lines in the Kconfig but it precludes those machines which select SCORPIONMP or MCT from participating in the single zImage effort because when those machines are combined with other SMP capable machines the TWD and SCU are no longer selected. Push the select out to the machine entries so that we can compile these machines together and still select the appropriate configs. Signed-off-by: Stephen Boyd Cc: David Brown Cc: Kukjin Kim Cc: Linus Walleij Cc: Pawel Moll Cc: Rob Herring Cc: Russell King Cc: Sascha Hauer Cc: Shiraz Hashim Cc: Simon Horman Cc: Srinidhi Kasagar Cc: Stephen Warren Cc: Tony Lindgren Cc: Viresh Kumar Acked-by: Viresh Kumar Acked-by: Santosh Shilimkar Acked-by: Simon Horman Acked-by: Pawel Moll --- Does OMAP5 need to select TWD? I suspect not if it uses the architected timers. arch/arm/Kconfig | 8 ++++++-- arch/arm/mach-exynos/Kconfig | 2 ++ arch/arm/mach-highbank/Kconfig | 1 + arch/arm/mach-imx/Kconfig | 2 ++ arch/arm/mach-msm/Kconfig | 7 ++----- arch/arm/mach-omap2/Kconfig | 4 ++++ arch/arm/mach-realview/Kconfig | 8 ++++++++ arch/arm/mach-vexpress/Kconfig | 2 ++ arch/arm/plat-spear/Kconfig | 2 ++ 9 files changed, 29 insertions(+), 7 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index e85f2b6..303ce90 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -639,6 +639,8 @@ config ARCH_TEGRA select GENERIC_GPIO select HAVE_CLK select HAVE_SMP + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select MIGHT_HAVE_CACHE_L2X0 select ARCH_HAS_CPUFREQ select USE_OF @@ -686,6 +688,8 @@ config ARCH_SHMOBILE select CLKDEV_LOOKUP select HAVE_MACH_CLKDEV select HAVE_SMP + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select GENERIC_CLOCKEVENTS select MIGHT_HAVE_CACHE_L2X0 select NO_IOPORT @@ -882,6 +886,8 @@ config ARCH_U8500 select ARCH_REQUIRE_GPIOLIB select ARCH_HAS_CPUFREQ select HAVE_SMP + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select MIGHT_HAVE_CACHE_L2X0 help Support for ST-Ericsson's Ux500 architecture @@ -1507,7 +1513,6 @@ config SMP depends on HAVE_SMP depends on MMU select USE_GENERIC_SMP_HELPERS - select HAVE_ARM_SCU if !ARCH_MSM_SCORPIONMP help This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If @@ -1620,7 +1625,6 @@ config LOCAL_TIMERS bool "Use local timer interrupts" depends on SMP default y - select HAVE_ARM_TWD if (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT) help Enable support for local timers on SMP platforms, rather then the legacy IPI broadcast method. Local timers allows the system diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index 4372075..8f97e92 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig @@ -15,6 +15,7 @@ config ARCH_EXYNOS4 bool "SAMSUNG EXYNOS4" default y select HAVE_SMP + select HAVE_ARM_SCU if SMP select MIGHT_HAVE_CACHE_L2X0 help Samsung EXYNOS4 SoCs based systems @@ -22,6 +23,7 @@ config ARCH_EXYNOS4 config ARCH_EXYNOS5 bool "SAMSUNG EXYNOS5" select HAVE_SMP + select HAVE_ARM_SCU if SMP help Samsung EXYNOS5 (Cortex-A15) SoC based systems diff --git a/arch/arm/mach-highbank/Kconfig b/arch/arm/mach-highbank/Kconfig index 0e1d0a4..f1ad1f0 100644 --- a/arch/arm/mach-highbank/Kconfig +++ b/arch/arm/mach-highbank/Kconfig @@ -11,5 +11,6 @@ config ARCH_HIGHBANK select GENERIC_CLOCKEVENTS select HAVE_ARM_SCU select HAVE_SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select SPARSE_IRQ select USE_OF diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 519ed57..13f765c 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -759,6 +759,8 @@ config SOC_IMX6Q select HAVE_IMX_MMDC select HAVE_IMX_SRC select HAVE_SMP + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select MFD_SYSCON select PINCTRL select PINCTRL_IMX6Q diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 7902de15..5bff882 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -44,7 +44,7 @@ endchoice config ARCH_MSM8X60 bool "MSM8X60" - select ARCH_MSM_SCORPIONMP + select HAVE_SMP select ARM_GIC select CPU_V7 select MSM_V2_TLMM @@ -55,7 +55,7 @@ config ARCH_MSM8X60 config ARCH_MSM8960 bool "MSM8960" - select ARCH_MSM_SCORPIONMP + select HAVE_SMP select ARM_GIC select CPU_V7 select MSM_V2_TLMM @@ -68,9 +68,6 @@ config MSM_HAS_DEBUG_UART_HS config MSM_SOC_REV_A bool -config ARCH_MSM_SCORPIONMP - bool - select HAVE_SMP config ARCH_MSM_ARM11 bool diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index a6219ea..b618748 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig @@ -58,7 +58,9 @@ config ARCH_OMAP4 select CPU_V7 select ARM_GIC select HAVE_SMP + select HAVE_ARM_SCU if SMP select LOCAL_TIMERS if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select PL310_ERRATA_588369 select PL310_ERRATA_727915 select ARM_ERRATA_720789 @@ -75,6 +77,8 @@ config SOC_OMAP5 select CPU_V7 select ARM_GIC select HAVE_SMP + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select ARM_CPU_SUSPEND if PM select SOC_HAS_REALTIME_COUNTER select ARM_ARCH_TIMER diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig index c593be4..0c019b7 100644 --- a/arch/arm/mach-realview/Kconfig +++ b/arch/arm/mach-realview/Kconfig @@ -13,6 +13,8 @@ config REALVIEW_EB_A9MP depends on MACH_REALVIEW_EB select CPU_V7 select HAVE_SMP + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select MIGHT_HAVE_CACHE_L2X0 help Enable support for the Cortex-A9MPCore tile fitted to the @@ -24,6 +26,8 @@ config REALVIEW_EB_ARM11MP select CPU_V6K select ARCH_HAS_BARRIERS if SMP select HAVE_SMP + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select MIGHT_HAVE_CACHE_L2X0 help Enable support for the ARM11MPCore tile fitted to the Realview(R) @@ -44,6 +48,8 @@ config MACH_REALVIEW_PB11MP select ARM_GIC select HAVE_PATA_PLATFORM select HAVE_SMP + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select MIGHT_HAVE_CACHE_L2X0 select ARCH_HAS_BARRIERS if SMP help @@ -86,6 +92,8 @@ config MACH_REALVIEW_PBX select ARM_GIC select HAVE_PATA_PLATFORM select HAVE_SMP + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select MIGHT_HAVE_CACHE_L2X0 select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !REALVIEW_HIGH_PHYS_OFFSET select ZONE_DMA if SPARSEMEM diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig index c952960..4f8e0db 100644 --- a/arch/arm/mach-vexpress/Kconfig +++ b/arch/arm/mach-vexpress/Kconfig @@ -11,6 +11,8 @@ config ARCH_VEXPRESS select HAVE_CLK select HAVE_PATA_PLATFORM select HAVE_SMP + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select ICST select MIGHT_HAVE_CACHE_L2X0 select NO_IOPORT diff --git a/arch/arm/plat-spear/Kconfig b/arch/arm/plat-spear/Kconfig index 4404f82..a090ea3 100644 --- a/arch/arm/plat-spear/Kconfig +++ b/arch/arm/plat-spear/Kconfig @@ -14,6 +14,8 @@ config ARCH_SPEAR13XX select CPU_V7 select USE_OF select HAVE_SMP + select HAVE_ARM_SCU if SMP + select HAVE_ARM_TWD if LOCAL_TIMERS select MIGHT_HAVE_CACHE_L2X0 select PINCTRL help