From patchwork Fri Jun 7 10:48:29 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Austin X-Patchwork-Id: 2686291 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) by patchwork1.kernel.org (Postfix) with ESMTP id CFC3540077 for ; Fri, 7 Jun 2013 10:50:08 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1UkuEo-0004Dq-1O; Fri, 07 Jun 2013 10:49:42 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1UkuEg-0000fi-8u; Fri, 07 Jun 2013 10:49:34 +0000 Received: from service87.mimecast.com ([91.220.42.44]) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1UkuET-0000da-P6 for linux-arm-kernel@lists.infradead.org; Fri, 07 Jun 2013 10:49:26 +0000 Received: from cam-owa2.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.21]) by service87.mimecast.com; Fri, 07 Jun 2013 11:48:58 +0100 Received: from e102895-lin.cambridge.arm.com ([10.1.255.212]) by cam-owa2.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Fri, 7 Jun 2013 11:48:57 +0100 From: Jonathan Austin To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 1/3] ARM: allow platforms to use generic headers without ARCH_MULTIPLATFORM Date: Fri, 7 Jun 2013 11:48:29 +0100 Message-Id: <1370602111-28737-2-git-send-email-jonathan.austin@arm.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1370602111-28737-1-git-send-email-jonathan.austin@arm.com> References: <1370602111-28737-1-git-send-email-jonathan.austin@arm.com> X-OriginalArrivalTime: 07 Jun 2013 10:48:57.0720 (UTC) FILETIME=[9CB74F80:01CE636C] X-MC-Unique: 113060711485800801 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130607_064922_124241_E5E6C06E X-CRM114-Status: GOOD ( 15.17 ) X-Spam-Score: -2.6 (--) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-2.6 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [91.220.42.44 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: Andrew Lunn , Jonathan Austin , Pawel Moll , nico@fluxnic.net, Tony Lindgren , Will Deacon , Stephen Boyd , Rob Herring , Gregory Clement , arnd@arndb.de, Jason Cooper X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Currently the use of generic mach headers is only is controlled by the same config option as selection of a multiplatform kernel (i.e. ARCH_MULTIPLATFORM). However, there are cases where it is valid to use the generic headers but still build a single platform kernel. One such example is when using the vexpress platform with a core that does not have an MMU; a multiplatform kernel does not make sense, but use of the generic headers is required by the vexpress platform since 617276307cd4c ("ARM: vexpress: convert to multi-platform"). This patch untangles these two options by introducing a new NEED_NO_MACH_HEADERS config option that ARCH_MULTIPLATFORM selects. Other platforms can now select NEED_NO_MACH_HEADERS independently. Signed-off-by: Jonathan Austin CC: Rob Herring CC: Pawel Moll CC: Jason Cooper CC: Andrew Lunn CC: Gregory Clement CC: Tony Lindgren CC: Stephen Boyd CC: Will Deacon --- arch/arm/Kconfig | 4 ++++ arch/arm/Kconfig.debug | 4 ++-- arch/arm/Makefile | 2 +- arch/arm/include/asm/timex.h | 2 +- arch/arm/mach-mvebu/Makefile | 2 +- arch/arm/mach-omap2/Makefile | 2 +- arch/arm/mach-vexpress/Makefile | 2 +- arch/arm/plat-omap/Makefile | 2 +- arch/arm/plat-orion/Makefile | 2 +- arch/arm/plat-versatile/Makefile | 2 +- 10 files changed, 14 insertions(+), 10 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 5543d36..f018924 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -207,6 +207,9 @@ config NEED_RET_TO_USER config ARCH_MTD_XIP bool +config NEED_NO_MACH_HEADERS + bool + config VECTORS_BASE hex default 0xffff0000 if MMU || CPU_HIGH_VECTOR @@ -296,6 +299,7 @@ config ARCH_MULTIPLATFORM select MULTI_IRQ_HANDLER select SPARSE_IRQ select USE_OF + select NEED_NO_MACH_HEADERS config ARCH_INTEGRATOR bool "ARM Ltd. Integrator family" diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index 1d41908..451df97 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -652,13 +652,13 @@ config DEBUG_LL_INCLUDE config DEBUG_UNCOMPRESS bool - default y if ARCH_MULTIPLATFORM && DEBUG_LL && \ + default y if NEED_NO_MACH_HEADERS && DEBUG_LL && \ !DEBUG_OMAP2PLUS_UART && \ !DEBUG_TEGRA_UART config UNCOMPRESS_INCLUDE string - default "debug/uncompress.h" if ARCH_MULTIPLATFORM + default "debug/uncompress.h" if NEED_NO_MACH_HEADERS default "mach/uncompress.h" config EARLY_PRINTK diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 3380c4f..72a3765 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -230,7 +230,7 @@ endif machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y)) -ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y) +ifneq ($(CONFIG_NEED_NO_MACH_HEADERS),y) ifeq ($(KBUILD_SRC),) KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs)) else diff --git a/arch/arm/include/asm/timex.h b/arch/arm/include/asm/timex.h index 83f2aa8..921c79c 100644 --- a/arch/arm/include/asm/timex.h +++ b/arch/arm/include/asm/timex.h @@ -12,7 +12,7 @@ #ifndef _ASMARM_TIMEX_H #define _ASMARM_TIMEX_H -#ifdef CONFIG_ARCH_MULTIPLATFORM +#ifdef CONFIG_NEED_NO_MACH_HEADERS #define CLOCK_TICK_RATE 1000000 #else #include diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile index 2d04f0e..460a53d 100644 --- a/arch/arm/mach-mvebu/Makefile +++ b/arch/arm/mach-mvebu/Makefile @@ -1,4 +1,4 @@ -ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \ +ccflags-$(CONFIG_NEED_NO_MACH_HEADERS) := -I$(srctree)/$(src)/include \ -I$(srctree)/arch/arm/plat-orion/include AFLAGS_coherency_ll.o := -Wa,-march=armv7-a diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 55a9d67..437a238 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile @@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \ +ccflags-$(CONFIG_NEED_NO_MACH_HEADERS) := -I$(srctree)/$(src)/include \ -I$(srctree)/arch/arm/plat-omap/include # Common support diff --git a/arch/arm/mach-vexpress/Makefile b/arch/arm/mach-vexpress/Makefile index 42703e8..59a9ce2 100644 --- a/arch/arm/mach-vexpress/Makefile +++ b/arch/arm/mach-vexpress/Makefile @@ -1,7 +1,7 @@ # # Makefile for the linux kernel. # -ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \ +ccflags-$(CONFIG_NEED_NO_MACH_HEADERS) := -I$(srctree)/$(src)/include \ -I$(srctree)/arch/arm/plat-versatile/include obj-y := v2m.o diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile index 3119941..2eb913d 100644 --- a/arch/arm/plat-omap/Makefile +++ b/arch/arm/plat-omap/Makefile @@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-omap/include +ccflags-$(CONFIG_NEED_NO_MACH_HEADERS) := -I$(srctree)/arch/arm/plat-omap/include # Common support obj-y := sram.o dma.o counter_32k.o diff --git a/arch/arm/plat-orion/Makefile b/arch/arm/plat-orion/Makefile index 9433605..9c8f122 100644 --- a/arch/arm/plat-orion/Makefile +++ b/arch/arm/plat-orion/Makefile @@ -1,7 +1,7 @@ # # Makefile for the linux kernel. # -ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include +ccflags-$(CONFIG_NEED_NO_MACH_HEADERS) := -I$(srctree)/$(src)/include orion-gpio-$(CONFIG_GPIOLIB) += gpio.o obj-$(CONFIG_PLAT_ORION_LEGACY) += irq.o pcie.o time.o common.o mpp.o diff --git a/arch/arm/plat-versatile/Makefile b/arch/arm/plat-versatile/Makefile index f88d448..4369df8 100644 --- a/arch/arm/plat-versatile/Makefile +++ b/arch/arm/plat-versatile/Makefile @@ -1,4 +1,4 @@ -ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include +ccflags-$(CONFIG_NEED_NO_MACH_HEADERS) := -I$(srctree)/$(src)/include obj-$(CONFIG_PLAT_VERSATILE_CLOCK) += clock.o obj-$(CONFIG_PLAT_VERSATILE_CLCD) += clcd.o