From mboxrd@z Thu Jan 1 00:00:00 1970 From: jonathan.austin@arm.com (Jonathan Austin) Date: Tue, 21 May 2013 17:36:50 +0100 Subject: [PATCH v2 1/3] ARM: allow platforms to use generic headers without ARCH_MULTIPLATFORM In-Reply-To: <5192532B.1070705@gmail.com> References: <1368530845-7415-1-git-send-email-jonathan.austin@arm.com> <1368530845-7415-2-git-send-email-jonathan.austin@arm.com> <5192532B.1070705@gmail.com> Message-ID: <519BA2A2.4060306@arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Rob, On 14/05/13 16:07, Rob Herring wrote: > On 05/14/2013 06:27 AM, Jonathan Austin wrote: >> 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 >> ARM_GENERIC_HEADERS config option that ARCH_MULTIPLATFORM selects. Other >> platforms can now select ARM_GENERIC_HEADERS independently. > > I find this name confusing. It is no headers you are selecting and > generic is a bit overused IMHO. So how about something like > NEED_NO_MACH_HEADERS to somewhat align to the other header related > config options (e.g. NEED_MACH_GPIO_H). NEED_NO_MACH_HEADERS is fine by me... Expresses things well. I'll post a v3 around -rc3 with this changed. Thanks, Jonny > > Rob > >> 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 d423d58..408eb33 100644 >> --- a/arch/arm/Kconfig >> +++ b/arch/arm/Kconfig >> @@ -206,6 +206,9 @@ config NEED_RET_TO_USER >> config ARCH_MTD_XIP >> bool >> >> +config ARM_GENERIC_HEADERS >> + bool >> + >> config VECTORS_BASE >> hex >> default 0xffff0000 if MMU || CPU_HIGH_VECTOR >> @@ -295,6 +298,7 @@ config ARCH_MULTIPLATFORM >> select MULTI_IRQ_HANDLER >> select SPARSE_IRQ >> select USE_OF >> + select ARM_GENERIC_HEADERS >> >> config ARCH_INTEGRATOR >> bool "ARM Ltd. Integrator family" >> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug >> index 1d41908..ede909b 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 ARM_GENERIC_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 ARM_GENERIC_HEADERS >> default "mach/uncompress.h" >> >> config EARLY_PRINTK >> diff --git a/arch/arm/Makefile b/arch/arm/Makefile >> index 4737408..ab0416f 100644 >> --- a/arch/arm/Makefile >> +++ b/arch/arm/Makefile >> @@ -229,7 +229,7 @@ endif >> machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) >> platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y)) >> >> -ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y) >> +ifneq ($(CONFIG_ARM_GENERIC_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..586a9c2 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_ARM_GENERIC_HEADERS >> #define CLOCK_TICK_RATE 1000000 >> #else >> #include >> diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile >> index 2d04f0e..d3c0e0b 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_ARM_GENERIC_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..ab204bc 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_ARM_GENERIC_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..6768e7f 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_ARM_GENERIC_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..3e1ba10 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_ARM_GENERIC_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..79a042ed 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_ARM_GENERIC_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..19495c6 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_ARM_GENERIC_HEADERS) := -I$(srctree)/$(src)/include >> >> obj-$(CONFIG_PLAT_VERSATILE_CLOCK) += clock.o >> obj-$(CONFIG_PLAT_VERSATILE_CLCD) += clcd.o >> > >