[PATCH v3 00/12] Initial multi-platform support

STALE5069d

Revision v3 of 3 in this series.

44 messages, 10 authors, 2012-09-14 · open the first message on its own page

[PATCH v3 00/12] Initial multi-platform support

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:43

From: Rob Herring <redacted>

This series enables initial ARM multi-platform support for highbank, mvebu,
socfpga, picoxcell, and vexpress. Multi-platform support is dependent on
some DEBUG_LL and dtb build rules restructuring. This series is also
dependent on my gpio clean-up series posted here:

http://lists.infradead.org/pipermail/linux-arm-kernel/2012-September/118138.html

New in this version:
- Moved ARCH_MULTIPLATFORM back into choice so converted platforms'
  defconfigs work before and after conversion.
- Added mvebu, socfpga and picoxcell DEBUG_LL support. DEBUG_LL should
  work for all converted platforms.
- Fixed make dtbs.
- Removed all unused headers (timex.h, uncompress.h) and Makefile.boot
- Add ARCH_MULTIPLATFORM depends for XIP found with randconfig builds
- Split out Vexpress to separate patch as now DT board support is always
  enabled.

This series plus gpio clean-up is available here:
git://sources.calxeda.com/kernel/linux.git multi-plat

Rob

Arnd Bergmann (1):
  ARM: vexpress: remove dependency on mach/* headers

Rob Herring (11):
  ARM: move debug macros to common location
  ARM: highbank: move debug macros to include/debug
  ARM: vexpress: move debug macros to include/debug
  ARM: mvebu: move debug macros to include/debug
  ARM: socfpga: move debug macros to include/debug
  ARM: picoxcell: move debug macros to include/debug
  ARM: move all dtb targets out of Makefile.boot
  ARM: picoxcell: remove dependency on mach/* headers
  ARM: mvebu: move armada-370-xp.h in mach dir
  ARM: initial multiplatform support
  ARM: vexpress: convert to multi-platform

 arch/arm/Kconfig                                   |  142 ++++++++----------
 arch/arm/Kconfig.debug                             |   33 +++++
 arch/arm/Makefile                                  |  155 ++++++++++----------
 arch/arm/boot/Makefile                             |    2 +
 arch/arm/boot/compressed/misc.c                    |    6 +
 arch/arm/boot/dts/Makefile                         |   41 ++++++
 arch/arm/include/asm/timex.h                       |    4 +
 .../debug-macro.S => include/debug/highbank.S}     |    6 +-
 arch/arm/include/debug/icedcc.S                    |   90 ++++++++++++
 .../mach/debug-macro.S => include/debug/mvebu.S}   |    3 +-
 .../debug-macro.S => include/debug/picoxcell.S}    |    0
 .../mach/debug-macro.S => include/debug/socfpga.S} |    0
 .../debug-macro.S => include/debug/vexpress.S}     |    0
 arch/arm/kernel/debug.S                            |   87 +----------
 arch/arm/kernel/head.S                             |    4 +-
 arch/arm/mach-at91/Makefile.boot                   |   24 ---
 arch/arm/mach-exynos/Makefile.boot                 |    3 -
 arch/arm/mach-highbank/Kconfig                     |   15 ++
 arch/arm/mach-highbank/Makefile.boot               |    1 -
 arch/arm/mach-highbank/include/mach/timex.h        |    6 -
 arch/arm/mach-highbank/include/mach/uncompress.h   |    9 --
 arch/arm/mach-imx/Makefile.boot                    |    7 -
 arch/arm/mach-kirkwood/Makefile.boot               |   11 --
 arch/arm/mach-lpc32xx/Makefile.boot                |    2 -
 arch/arm/mach-mvebu/Kconfig                        |   10 ++
 arch/arm/mach-mvebu/Makefile                       |    2 +
 arch/arm/mach-mvebu/Makefile.boot                  |    3 -
 arch/arm/mach-mvebu/armada-370-xp.c                |    2 +-
 .../mach-mvebu/{include/mach => }/armada-370-xp.h  |    0
 arch/arm/mach-mvebu/include/mach/timex.h           |   13 --
 arch/arm/mach-mvebu/include/mach/uncompress.h      |   43 ------
 arch/arm/mach-mxs/Makefile.boot                    |    9 --
 arch/arm/mach-picoxcell/Kconfig                    |   14 ++
 arch/arm/mach-picoxcell/Makefile.boot              |    1 -
 arch/arm/mach-picoxcell/common.c                   |    6 +-
 arch/arm/mach-picoxcell/include/mach/hardware.h    |   21 ---
 arch/arm/mach-picoxcell/include/mach/map.h         |   25 ----
 arch/arm/mach-picoxcell/include/mach/timex.h       |   25 ----
 arch/arm/mach-picoxcell/include/mach/uncompress.h  |   21 ---
 .../{include/mach => }/picoxcell_soc.h             |    0
 arch/arm/mach-socfpga/Kconfig                      |   16 ++
 arch/arm/mach-socfpga/Makefile.boot                |    1 -
 arch/arm/mach-socfpga/include/mach/timex.h         |   19 ---
 arch/arm/mach-socfpga/include/mach/uncompress.h    |    9 --
 arch/arm/mach-spear13xx/Makefile.boot              |    3 -
 arch/arm/mach-spear3xx/Makefile.boot               |    4 -
 arch/arm/mach-spear6xx/Makefile.boot               |    2 -
 arch/arm/mach-tegra/Makefile.boot                  |    8 -
 arch/arm/mach-ux500/Makefile.boot                  |    2 -
 arch/arm/mach-vexpress/Kconfig                     |   64 ++++----
 arch/arm/mach-vexpress/Makefile                    |    2 +
 arch/arm/mach-vexpress/Makefile.boot               |   10 --
 arch/arm/mach-vexpress/ct-ca9x4.c                  |    1 +
 arch/arm/mach-vexpress/include/mach/irqs.h         |    2 +
 arch/arm/mach-vexpress/v2m.c                       |    4 -
 arch/arm/plat-versatile/Makefile                   |    2 +
 56 files changed, 423 insertions(+), 572 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile
 rename arch/arm/{mach-highbank/include/mach/debug-macro.S => include/debug/highbank.S} (83%)
 create mode 100644 arch/arm/include/debug/icedcc.S
 rename arch/arm/{mach-mvebu/include/mach/debug-macro.S => include/debug/mvebu.S} (86%)
 rename arch/arm/{mach-picoxcell/include/mach/debug-macro.S => include/debug/picoxcell.S} (100%)
 rename arch/arm/{mach-socfpga/include/mach/debug-macro.S => include/debug/socfpga.S} (100%)
 rename arch/arm/{mach-vexpress/include/mach/debug-macro.S => include/debug/vexpress.S} (100%)
 create mode 100644 arch/arm/mach-highbank/Kconfig
 delete mode 100644 arch/arm/mach-highbank/Makefile.boot
 delete mode 100644 arch/arm/mach-highbank/include/mach/timex.h
 delete mode 100644 arch/arm/mach-highbank/include/mach/uncompress.h
 delete mode 100644 arch/arm/mach-mvebu/Makefile.boot
 rename arch/arm/mach-mvebu/{include/mach => }/armada-370-xp.h (100%)
 delete mode 100644 arch/arm/mach-mvebu/include/mach/timex.h
 delete mode 100644 arch/arm/mach-mvebu/include/mach/uncompress.h
 create mode 100644 arch/arm/mach-picoxcell/Kconfig
 delete mode 100644 arch/arm/mach-picoxcell/Makefile.boot
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/hardware.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/map.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/timex.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/uncompress.h
 rename arch/arm/mach-picoxcell/{include/mach => }/picoxcell_soc.h (100%)
 create mode 100644 arch/arm/mach-socfpga/Kconfig
 delete mode 100644 arch/arm/mach-socfpga/Makefile.boot
 delete mode 100644 arch/arm/mach-socfpga/include/mach/timex.h
 delete mode 100644 arch/arm/mach-socfpga/include/mach/uncompress.h
 delete mode 100644 arch/arm/mach-vexpress/Makefile.boot

-- 
1.7.9.5

[PATCH 01/12] ARM: move debug macros to common location

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:44

From: Rob Herring <redacted>

Based on suggestion by Russell King, create a common location for debug
macros and select the included debug macro file using config option.

Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
---
 arch/arm/Kconfig.debug          |    5 +++
 arch/arm/include/debug/icedcc.S |   90 +++++++++++++++++++++++++++++++++++++++
 arch/arm/kernel/debug.S         |   87 ++-----------------------------------
 arch/arm/kernel/head.S          |    4 +-
 4 files changed, 100 insertions(+), 86 deletions(-)
 create mode 100644 arch/arm/include/debug/icedcc.S
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index f15f82b..4f9760b 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -373,6 +373,11 @@ choice
 
 endchoice
 
+config DEBUG_LL_INCLUDE
+	string
+	default "debug/icedcc.S" if DEBUG_ICEDCC
+	default "mach/debug-macro.S"
+
 config EARLY_PRINTK
 	bool "Early printk"
 	depends on DEBUG_LL
diff --git a/arch/arm/include/debug/icedcc.S b/arch/arm/include/debug/icedcc.S
new file mode 100644
index 0000000..43afcb0
--- /dev/null
+++ b/arch/arm/include/debug/icedcc.S
@@ -0,0 +1,90 @@
+/*
+ *  arch/arm/include/debug/icedcc.S
+ *
+ *  Copyright (C) 1994-1999 Russell King
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+		@@ debug using ARM EmbeddedICE DCC channel
+
+		.macro	addruart, rp, rv, tmp
+		.endm
+
+#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
+
+		.macro	senduart, rd, rx
+		mcr	p14, 0, \rd, c0, c5, 0
+		.endm
+
+		.macro	busyuart, rd, rx
+1001:
+		mrc	p14, 0, \rx, c0, c1, 0
+		tst	\rx, #0x20000000
+		beq	1001b
+		.endm
+
+		.macro	waituart, rd, rx
+		mov	\rd, #0x2000000
+1001:
+		subs	\rd, \rd, #1
+		bmi	1002f
+		mrc	p14, 0, \rx, c0, c1, 0
+		tst	\rx, #0x20000000
+		bne	1001b
+1002:
+		.endm
+
+#elif defined(CONFIG_CPU_XSCALE)
+
+		.macro	senduart, rd, rx
+		mcr	p14, 0, \rd, c8, c0, 0
+		.endm
+
+		.macro	busyuart, rd, rx
+1001:
+		mrc	p14, 0, \rx, c14, c0, 0
+		tst	\rx, #0x10000000
+		beq	1001b
+		.endm
+
+		.macro	waituart, rd, rx
+		mov	\rd, #0x10000000
+1001:
+		subs	\rd, \rd, #1
+		bmi	1002f
+		mrc	p14, 0, \rx, c14, c0, 0
+		tst	\rx, #0x10000000
+		bne	1001b
+1002:
+		.endm
+
+#else
+
+		.macro	senduart, rd, rx
+		mcr	p14, 0, \rd, c1, c0, 0
+		.endm
+
+		.macro	busyuart, rd, rx
+1001:
+		mrc	p14, 0, \rx, c0, c0, 0
+		tst	\rx, #2
+		beq	1001b
+
+		.endm
+
+		.macro	waituart, rd, rx
+		mov	\rd, #0x2000000
+1001:
+		subs	\rd, \rd, #1
+		bmi	1002f
+		mrc	p14, 0, \rx, c0, c0, 0
+		tst	\rx, #2
+		bne	1001b
+1002:
+		.endm
+
+#endif	/* CONFIG_CPU_V6 */
diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S
index c45522c..66f711b 100644
--- a/arch/arm/kernel/debug.S
+++ b/arch/arm/kernel/debug.S
@@ -20,90 +20,9 @@
  * references to these in a production kernel!
  */
 
-#if defined(CONFIG_DEBUG_ICEDCC)
-		@@ debug using ARM EmbeddedICE DCC channel
-
-		.macro	addruart, rp, rv, tmp
-		.endm
-
-#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
-
-		.macro	senduart, rd, rx
-		mcr	p14, 0, \rd, c0, c5, 0
-		.endm
-
-		.macro	busyuart, rd, rx
-1001:
-		mrc	p14, 0, \rx, c0, c1, 0
-		tst	\rx, #0x20000000
-		beq	1001b
-		.endm
-
-		.macro	waituart, rd, rx
-		mov	\rd, #0x2000000
-1001:
-		subs	\rd, \rd, #1
-		bmi	1002f
-		mrc	p14, 0, \rx, c0, c1, 0
-		tst	\rx, #0x20000000
-		bne	1001b
-1002:
-		.endm
-
-#elif defined(CONFIG_CPU_XSCALE)
-
-		.macro	senduart, rd, rx
-		mcr	p14, 0, \rd, c8, c0, 0
-		.endm
-
-		.macro	busyuart, rd, rx
-1001:
-		mrc	p14, 0, \rx, c14, c0, 0
-		tst	\rx, #0x10000000
-		beq	1001b
-		.endm
-
-		.macro	waituart, rd, rx
-		mov	\rd, #0x10000000
-1001:
-		subs	\rd, \rd, #1
-		bmi	1002f
-		mrc	p14, 0, \rx, c14, c0, 0
-		tst	\rx, #0x10000000
-		bne	1001b
-1002:
-		.endm
-
-#else
-
-		.macro	senduart, rd, rx
-		mcr	p14, 0, \rd, c1, c0, 0
-		.endm
-
-		.macro	busyuart, rd, rx
-1001:
-		mrc	p14, 0, \rx, c0, c0, 0
-		tst	\rx, #2
-		beq	1001b
-
-		.endm
-
-		.macro	waituart, rd, rx
-		mov	\rd, #0x2000000
-1001:
-		subs	\rd, \rd, #1
-		bmi	1002f
-		mrc	p14, 0, \rx, c0, c0, 0
-		tst	\rx, #2
-		bne	1001b
-1002:
-		.endm
-
-#endif	/* CONFIG_CPU_V6 */
-
-#elif !defined(CONFIG_DEBUG_SEMIHOSTING)
-#include <mach/debug-macro.S>
-#endif	/* CONFIG_DEBUG_ICEDCC */
+#if !defined(CONFIG_DEBUG_SEMIHOSTING)
+#include CONFIG_DEBUG_LL_INCLUDE
+#endif
 
 #ifdef CONFIG_MMU
 		.macro	addruart_current, rx, tmp1, tmp2
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 3db960e..9874d07 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -23,8 +23,8 @@
 #include <asm/thread_info.h>
 #include <asm/pgtable.h>
 
-#ifdef CONFIG_DEBUG_LL
-#include <mach/debug-macro.S>
+#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING)
+#include CONFIG_DEBUG_LL_INCLUDE
 #endif
 
 /*
-- 
1.7.9.5

[PATCH 02/12] ARM: highbank: move debug macros to include/debug

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:45

From: Rob Herring <redacted>

Move highbank debug-macro.S over to common debug macro directory.

Also, remove v7 specific movw/movt instructions so this can compile under
v6 mode.

Signed-off-by: Rob Herring <redacted>
---
 arch/arm/Kconfig.debug                             |    1 +
 .../debug-macro.S => include/debug/highbank.S}     |    6 ++----
 2 files changed, 3 insertions(+), 4 deletions(-)
 rename arch/arm/{mach-highbank/include/mach/debug-macro.S => include/debug/highbank.S} (83%)
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 4f9760b..d9d8eff 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -376,6 +376,7 @@ endchoice
 config DEBUG_LL_INCLUDE
 	string
 	default "debug/icedcc.S" if DEBUG_ICEDCC
+	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
 	default "mach/debug-macro.S"
 
 config EARLY_PRINTK
diff --git a/arch/arm/mach-highbank/include/mach/debug-macro.S b/arch/arm/include/debug/highbank.S
similarity index 83%
rename from arch/arm/mach-highbank/include/mach/debug-macro.S
rename to arch/arm/include/debug/highbank.S
index cb57fe5..8cad432 100644
--- a/arch/arm/mach-highbank/include/mach/debug-macro.S
+++ b/arch/arm/include/debug/highbank.S
@@ -10,10 +10,8 @@
  */
 
 		.macro	addruart,rp,rv,tmp
-		movw	\rv, #0x6000
-		movt	\rv, #0xfee3
-		movw	\rp, #0x6000
-		movt	\rp, #0xfff3
+		ldr	\rv, =0xfee36000
+		ldr	\rp, =0xfff36000
 		.endm
 
 #include <asm/hardware/debug-pl01x.S>
-- 
1.7.9.5

[PATCH 03/12] ARM: vexpress: move debug macros to include/debug

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:46

From: Rob Herring <redacted>

Move vexpress debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <redacted>
Cc: Pawel Moll <redacted>
---
 arch/arm/Kconfig.debug                             |    2 ++
 .../debug-macro.S => include/debug/vexpress.S}     |    0
 2 files changed, 2 insertions(+)
 rename arch/arm/{mach-vexpress/include/mach/debug-macro.S => include/debug/vexpress.S} (100%)
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index d9d8eff..525d9bd 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -377,6 +377,8 @@ config DEBUG_LL_INCLUDE
 	string
 	default "debug/icedcc.S" if DEBUG_ICEDCC
 	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
+	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
+		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
 	default "mach/debug-macro.S"
 
 config EARLY_PRINTK
diff --git a/arch/arm/mach-vexpress/include/mach/debug-macro.S b/arch/arm/include/debug/vexpress.S
similarity index 100%
rename from arch/arm/mach-vexpress/include/mach/debug-macro.S
rename to arch/arm/include/debug/vexpress.S
-- 
1.7.9.5

[PATCH 04/12] ARM: mvebu: move debug macros to include/debug

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:47

From: Rob Herring <redacted>

Move mvebu debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <redacted>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
---
 arch/arm/Kconfig.debug                             |    8 ++++++++
 .../mach/debug-macro.S => include/debug/mvebu.S}   |    3 ++-
 2 files changed, 10 insertions(+), 1 deletion(-)
 rename arch/arm/{mach-mvebu/include/mach/debug-macro.S => include/debug/mvebu.S} (86%)
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 525d9bd..3bafdd2 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -261,6 +261,13 @@ choice
 		  Say Y here if you want the debug print routines to direct
 		  their output to the serial port on MSM 8960 devices.
 
+	config DEBUG_MVEBU_UART
+		bool "Kernel low-level debugging messages via MVEBU UART"
+		depends on ARCH_MVEBU
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on MVEBU based platforms.
+
 	config DEBUG_REALVIEW_STD_PORT
 		bool "RealView Default UART"
 		depends on ARCH_REALVIEW
@@ -377,6 +384,7 @@ config DEBUG_LL_INCLUDE
 	string
 	default "debug/icedcc.S" if DEBUG_ICEDCC
 	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
+	default "debug/mvebu.S" if DEBUG_MVEBU_UART
 	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
 		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
 	default "mach/debug-macro.S"
diff --git a/arch/arm/mach-mvebu/include/mach/debug-macro.S b/arch/arm/include/debug/mvebu.S
similarity index 86%
rename from arch/arm/mach-mvebu/include/mach/debug-macro.S
rename to arch/arm/include/debug/mvebu.S
index 2282576..865c6d0 100644
--- a/arch/arm/mach-mvebu/include/mach/debug-macro.S
+++ b/arch/arm/include/debug/mvebu.S
@@ -11,7 +11,8 @@
  * published by the Free Software Foundation.
 */
 
-#include <mach/armada-370-xp.h>
+#define ARMADA_370_XP_REGS_PHYS_BASE	0xd0000000
+#define ARMADA_370_XP_REGS_VIRT_BASE	0xfeb00000
 
 	.macro	addruart, rp, rv, tmp
 	ldr	\rp, =ARMADA_370_XP_REGS_PHYS_BASE
-- 
1.7.9.5

[PATCH 04/12] ARM: mvebu: move debug macros to include/debug

From: Jason Cooper <hidden>
Date: 2012-09-07 15:08:45

On Thu, Sep 06, 2012 at 03:12:47PM -0500, Rob Herring wrote:
From: Rob Herring <redacted>

Move mvebu debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <redacted>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
As with the other patch involving -mvebu, please include Gregory Clement
in the Cc:  I've added him to bring this patch to his attention.

thx,

Jason.
quoted hunk
---
 arch/arm/Kconfig.debug                             |    8 ++++++++
 .../mach/debug-macro.S => include/debug/mvebu.S}   |    3 ++-
 2 files changed, 10 insertions(+), 1 deletion(-)
 rename arch/arm/{mach-mvebu/include/mach/debug-macro.S => include/debug/mvebu.S} (86%)
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 525d9bd..3bafdd2 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -261,6 +261,13 @@ choice
 		  Say Y here if you want the debug print routines to direct
 		  their output to the serial port on MSM 8960 devices.
 
+	config DEBUG_MVEBU_UART
+		bool "Kernel low-level debugging messages via MVEBU UART"
+		depends on ARCH_MVEBU
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on MVEBU based platforms.
+
 	config DEBUG_REALVIEW_STD_PORT
 		bool "RealView Default UART"
 		depends on ARCH_REALVIEW
@@ -377,6 +384,7 @@ config DEBUG_LL_INCLUDE
 	string
 	default "debug/icedcc.S" if DEBUG_ICEDCC
 	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
+	default "debug/mvebu.S" if DEBUG_MVEBU_UART
 	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
 		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
 	default "mach/debug-macro.S"
diff --git a/arch/arm/mach-mvebu/include/mach/debug-macro.S b/arch/arm/include/debug/mvebu.S
similarity index 86%
rename from arch/arm/mach-mvebu/include/mach/debug-macro.S
rename to arch/arm/include/debug/mvebu.S
index 2282576..865c6d0 100644
--- a/arch/arm/mach-mvebu/include/mach/debug-macro.S
+++ b/arch/arm/include/debug/mvebu.S
@@ -11,7 +11,8 @@
  * published by the Free Software Foundation.
 */
 
-#include <mach/armada-370-xp.h>
+#define ARMADA_370_XP_REGS_PHYS_BASE	0xd0000000
+#define ARMADA_370_XP_REGS_VIRT_BASE	0xfeb00000
 
 	.macro	addruart, rp, rv, tmp
 	ldr	\rp, =ARMADA_370_XP_REGS_PHYS_BASE
-- 
1.7.9.5


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

[PATCH 05/12] ARM: socfpga: move debug macros to include/debug

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:48

From: Rob Herring <redacted>

Move socfpga debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <redacted>
Cc: Dinh Nguyen <redacted>
---
 arch/arm/Kconfig.debug                             |    8 ++++++++
 .../mach/debug-macro.S => include/debug/socfpga.S} |    0
 2 files changed, 8 insertions(+)
 rename arch/arm/{mach-socfpga/include/mach/debug-macro.S => include/debug/socfpga.S} (100%)
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 3bafdd2..aa56934 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -317,6 +317,13 @@ choice
 		  The uncompressor code port configuration is now handled
 		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
 
+	config DEBUG_SOCFPGA_UART
+		depends on ARCH_SOCFPGA
+		bool "Use SOCFPGA UART for low-level debug"
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on SOCFPGA based platforms.
+
 	config DEBUG_VEXPRESS_UART0_DETECT
 		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
 		depends on ARCH_VEXPRESS && CPU_CP15_MMU
@@ -385,6 +392,7 @@ config DEBUG_LL_INCLUDE
 	default "debug/icedcc.S" if DEBUG_ICEDCC
 	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
 	default "debug/mvebu.S" if DEBUG_MVEBU_UART
+	default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
 	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
 		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
 	default "mach/debug-macro.S"
diff --git a/arch/arm/mach-socfpga/include/mach/debug-macro.S b/arch/arm/include/debug/socfpga.S
similarity index 100%
rename from arch/arm/mach-socfpga/include/mach/debug-macro.S
rename to arch/arm/include/debug/socfpga.S
-- 
1.7.9.5

[PATCH 05/12] ARM: socfpga: move debug macros to include/debug

From: Dinh Nguyen <hidden>
Date: 2012-09-06 22:33:18

Hi Rob,

On Thu, 2012-09-06 at 15:12 -0500, Rob Herring wrote:
quoted hunk
From: Rob Herring <redacted>

Move socfpga debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <redacted>
Cc: Dinh Nguyen <redacted>
---
 arch/arm/Kconfig.debug                             |    8 ++++++++
 .../mach/debug-macro.S => include/debug/socfpga.S} |    0
 2 files changed, 8 insertions(+)
 rename arch/arm/{mach-socfpga/include/mach/debug-macro.S => include/debug/socfpga.S} (100%)
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 3bafdd2..aa56934 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -317,6 +317,13 @@ choice
                The uncompressor code port configuration is now handled
                by CONFIG_S3C_LOWLEVEL_UART_PORT.

+     config DEBUG_SOCFPGA_UART
+             depends on ARCH_SOCFPGA
+             bool "Use SOCFPGA UART for low-level debug"
+             help
+               Say Y here if you want kernel low-level debugging support
+               on SOCFPGA based platforms.
+
      config DEBUG_VEXPRESS_UART0_DETECT
              bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
              depends on ARCH_VEXPRESS && CPU_CP15_MMU
@@ -385,6 +392,7 @@ config DEBUG_LL_INCLUDE
      default "debug/icedcc.S" if DEBUG_ICEDCC
      default "debug/highbank.S" if DEBUG_HIGHBANK_UART
      default "debug/mvebu.S" if DEBUG_MVEBU_UART
+     default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
      default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
              DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
      default "mach/debug-macro.S"
diff --git a/arch/arm/mach-socfpga/include/mach/debug-macro.S b/arch/arm/include/debug/socfpga.S
similarity index 100%
rename from arch/arm/mach-socfpga/include/mach/debug-macro.S
rename to arch/arm/include/debug/socfpga.S
Looks great!

Acked-by: Dinh Nguyen <redacted>

Confidentiality Notice.
This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution,  or copying  of this message, or any attachments, is strictly prohibited.  If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments.  Thank you.

[PATCH 05/12] ARM: socfpga: move debug macros to include/debug

From: Dinh Nguyen <hidden>
Date: 2012-09-06 23:35:24

Hi Rob,

Sorry, resending the ack without the confidential stamp.

On Thu, 2012-09-06 at 15:12 -0500, Rob Herring wrote:
quoted hunk
From: Rob Herring <redacted>

Move socfpga debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <redacted>
Cc: Dinh Nguyen <redacted>
---
 arch/arm/Kconfig.debug                             |    8 ++++++++
 .../mach/debug-macro.S => include/debug/socfpga.S} |    0
 2 files changed, 8 insertions(+)
 rename arch/arm/{mach-socfpga/include/mach/debug-macro.S => include/debug/socfpga.S} (100%)
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 3bafdd2..aa56934 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -317,6 +317,13 @@ choice
 		  The uncompressor code port configuration is now handled
 		  by CONFIG_S3C_LOWLEVEL_UART_PORT.
 
+	config DEBUG_SOCFPGA_UART
+		depends on ARCH_SOCFPGA
+		bool "Use SOCFPGA UART for low-level debug"
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on SOCFPGA based platforms.
+
 	config DEBUG_VEXPRESS_UART0_DETECT
 		bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
 		depends on ARCH_VEXPRESS && CPU_CP15_MMU
@@ -385,6 +392,7 @@ config DEBUG_LL_INCLUDE
 	default "debug/icedcc.S" if DEBUG_ICEDCC
 	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
 	default "debug/mvebu.S" if DEBUG_MVEBU_UART
+	default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
 	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
 		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
 	default "mach/debug-macro.S"
diff --git a/arch/arm/mach-socfpga/include/mach/debug-macro.S b/arch/arm/include/debug/socfpga.S
similarity index 100%
rename from arch/arm/mach-socfpga/include/mach/debug-macro.S
rename to arch/arm/include/debug/socfpga.S
Acked-by: Dinh Nguyen <redacted>

Dinh

[PATCH 06/12] ARM: picoxcell: move debug macros to include/debug

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:49

From: Rob Herring <redacted>

Move picoxcell debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <redacted>
Cc: Jamie Iles <redacted>
---
 arch/arm/Kconfig.debug                             |    8 ++++++++
 .../debug-macro.S => include/debug/picoxcell.S}    |    0
 2 files changed, 8 insertions(+)
 rename arch/arm/{mach-picoxcell/include/mach/debug-macro.S => include/debug/picoxcell.S} (100%)
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index aa56934..b74ed97 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -268,6 +268,13 @@ choice
 		  Say Y here if you want kernel low-level debugging support
 		  on MVEBU based platforms.
 
+	config DEBUG_PICOXCELL_UART
+		depends on ARCH_PICOXCELL
+		bool "Use PicoXcell UART for low-level debug"
+		help
+		  Say Y here if you want kernel low-level debugging support
+		  on PicoXcell based platforms.
+
 	config DEBUG_REALVIEW_STD_PORT
 		bool "RealView Default UART"
 		depends on ARCH_REALVIEW
@@ -392,6 +399,7 @@ config DEBUG_LL_INCLUDE
 	default "debug/icedcc.S" if DEBUG_ICEDCC
 	default "debug/highbank.S" if DEBUG_HIGHBANK_UART
 	default "debug/mvebu.S" if DEBUG_MVEBU_UART
+	default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART
 	default "debug/socfpga.S" if DEBUG_SOCFPGA_UART
 	default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \
 		DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1
diff --git a/arch/arm/mach-picoxcell/include/mach/debug-macro.S b/arch/arm/include/debug/picoxcell.S
similarity index 100%
rename from arch/arm/mach-picoxcell/include/mach/debug-macro.S
rename to arch/arm/include/debug/picoxcell.S
-- 
1.7.9.5

[PATCH 06/12] ARM: picoxcell: move debug macros to include/debug

From: Shawn Guo <hidden>
Date: 2012-09-13 14:16:51

On Thu, Sep 06, 2012 at 03:12:49PM -0500, Rob Herring wrote:
From: Rob Herring <redacted>

Move picoxcell debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <redacted>
Cc: Jamie Iles <redacted>
---
 arch/arm/Kconfig.debug                             |    8 ++++++++
 .../debug-macro.S => include/debug/picoxcell.S}    |    0
 2 files changed, 8 insertions(+)
 rename arch/arm/{mach-picoxcell/include/mach/debug-macro.S => include/debug/picoxcell.S} (100%)
Can we do that renaming right away?  I still see the following
inclusions in the file.

#include <mach/hardware.h>
#include <mach/map.h>

-- 
Regards,
Shawn

[PATCH 06/12] ARM: picoxcell: move debug macros to include/debug

From: Rob Herring <hidden>
Date: 2012-09-13 15:14:15

On 09/13/2012 09:16 AM, Shawn Guo wrote:
On Thu, Sep 06, 2012 at 03:12:49PM -0500, Rob Herring wrote:
quoted
From: Rob Herring <redacted>

Move picoxcell debug-macro.S over to common debug macro directory.

Signed-off-by: Rob Herring <redacted>
Cc: Jamie Iles <redacted>
---
 arch/arm/Kconfig.debug                             |    8 ++++++++
 .../debug-macro.S => include/debug/picoxcell.S}    |    0
 2 files changed, 8 insertions(+)
 rename arch/arm/{mach-picoxcell/include/mach/debug-macro.S => include/debug/picoxcell.S} (100%)
Can we do that renaming right away?  I still see the following
inclusions in the file.

#include <mach/hardware.h>
#include <mach/map.h>
Right, I've incorporated the fix Jamie posted for this.

Rob

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:50

From: Rob Herring <redacted>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
Cc: Andrew Victor <redacted>
Cc: Nicolas Ferre <redacted>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Kukjin Kim <redacted>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <redacted>
Cc: Shawn Guo <redacted>
Cc: Viresh Kumar <redacted>
Cc: Shiraz Hashim <redacted>
Cc: Rajeev Kumar <redacted>
Cc: Stephen Warren <redacted>
Cc: Srinidhi Kasagar <redacted>
Cc: Linus Walleij <redacted>
---
 arch/arm/boot/Makefile                |    2 ++
 arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
 arch/arm/mach-at91/Makefile.boot      |   24 -------------------
 arch/arm/mach-exynos/Makefile.boot    |    3 ---
 arch/arm/mach-imx/Makefile.boot       |    7 ------
 arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
 arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
 arch/arm/mach-mvebu/Makefile.boot     |    2 --
 arch/arm/mach-mxs/Makefile.boot       |    9 --------
 arch/arm/mach-spear13xx/Makefile.boot |    3 ---
 arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
 arch/arm/mach-spear6xx/Makefile.boot  |    2 --
 arch/arm/mach-tegra/Makefile.boot     |    8 -------
 arch/arm/mach-ux500/Makefile.boot     |    2 --
 arch/arm/mach-vexpress/Makefile.boot  |    5 ----
 15 files changed, 43 insertions(+), 82 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index c877087..3fdab01 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
 include $(srctree)/$(MACHINE)/Makefile.boot
 endif
 
+include $(srctree)/arch/arm/boot/dts/Makefile
+
 # Note: the following conditions must always be true:
 #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
 #   PARAMS_PHYS must be within 4MB of ZRELADDR
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
new file mode 100644
index 0000000..e59586b
--- /dev/null
+++ b/arch/arm/boot/dts/Makefile
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
+dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
+dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb tegra20-paz00.dtb \
+	tegra20-seaboard.dtb tegra20-trimslice.dtb tegra20-ventana.dtb \
+	tegra20-whistler.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
+dtb-$(CONFIG_BOARD_SPEAR600_DT)	+= spear600-evb.dtb
+dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-db.dtb armada-xp-db.dtb
+dtb-$(CONFIG_MACH_AT91SAM_DT) += aks-cdu.dtb at91sam9263ek.dtb \
+	at91sam9g20ek_2mmc.dtb at91sam9g20ek.dtb at91sam9g25ek.dtb \
+	at91sam9m10g45ek.dtb at91sam9n12ek.dtb ethernut5.dtb evk-pro3.dtb \
+	kizbox.dtb tny_a9260.dtb tny_a9263.dtb tny_a9g20.dtb usb_a9260.dtb \
+	usb_a9263.dtb usb_a9g20.dtb
+dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns320.dtb kirkwood-dns325.dtb
+dtb-$(CONFIG_MACH_DREAMPLUG_DT) += kirkwood-dreamplug.dtb
+dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb
+dtb-$(CONFIG_MACH_EXYNOS5_DT) += exynos5250-smdk5250.dtb
+dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb
+dtb-$(CONFIG_MACH_IB62X0_DT) += kirkwood-ib62x0.dtb
+dtb-$(CONFIG_MACH_ICONNECT_DT) += kirkwood-iconnect.dtb
+dtb-$(CONFIG_MACH_IMX51_DT) += imx51-babbage.dtb
+dtb-$(CONFIG_MACH_IMX53_DT) += imx53-ard.dtb imx53-evk.dtb \
+	imx53-qsb.dtb imx53-smd.dtb
+dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb
+dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb
+dtb-$(CONFIG_MACH_SNOWBALL) += snowball.dtb
+dtb-$(CONFIG_MACH_SPEAR1310) += spear1310-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR1340) += spear1340-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR300) += spear300-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR310) += spear310-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR320) += spear320-evb.dtb
+dtb-$(CONFIG_MACH_TS219_DT) += kirkwood-ts219-6281.dtb kirkwood-ts219-6282.dtb
+dtb-$(CONFIG_SOC_IMX6Q)	+= imx6q-arm2.dtb imx6q-sabrelite.dtb \
+			   imx6q-sabresd.dtb
+dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb imx23-olinuxino.dtb \
+	 imx23-stmp378x_devb.dtb imx28-apx4devkit.dtb \
+	 imx28-cfa10036.dtb imx28-evk.dtb \
+	 imx28-m28evk.dtb imx28-tx28.dtb
+dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
+	   vexpress-v2p-ca9.dtb vexpress-v2p-ca15-tc1.dtb \
+	   vexpress-v2p-ca15_a7.dtb
diff --git a/arch/arm/mach-at91/Makefile.boot b/arch/arm/mach-at91/Makefile.boot
index 30bb733..5309f9b 100644
--- a/arch/arm/mach-at91/Makefile.boot
+++ b/arch/arm/mach-at91/Makefile.boot
@@ -12,27 +12,3 @@ else
 params_phys-y	:= 0x20000100
 initrd_phys-y	:= 0x20410000
 endif
-
-# Keep dtb files sorted alphabetically for each SoC
-# sam9260
-dtb-$(CONFIG_MACH_AT91SAM_DT) += aks-cdu.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += ethernut5.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += evk-pro3.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9260.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9260.dtb
-# sam9263
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9263ek.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9263.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9263.dtb
-# sam9g20
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek_2mmc.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += kizbox.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9g20.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9g20.dtb
-# sam9g45
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9m10g45ek.dtb
-# sam9n12
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9n12ek.dtb
-# sam9x5
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g25ek.dtb
diff --git a/arch/arm/mach-exynos/Makefile.boot b/arch/arm/mach-exynos/Makefile.boot
index 31bd181..b9862e2 100644
--- a/arch/arm/mach-exynos/Makefile.boot
+++ b/arch/arm/mach-exynos/Makefile.boot
@@ -1,5 +1,2 @@
    zreladdr-y	+= 0x40008000
 params_phys-y	:= 0x40000100
-
-dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb
-dtb-$(CONFIG_MACH_EXYNOS5_DT) += exynos5250-smdk5250.dtb
diff --git a/arch/arm/mach-imx/Makefile.boot b/arch/arm/mach-imx/Makefile.boot
index 05541cf..b27815d 100644
--- a/arch/arm/mach-imx/Makefile.boot
+++ b/arch/arm/mach-imx/Makefile.boot
@@ -37,10 +37,3 @@ initrd_phys-$(CONFIG_SOC_IMX53)	:= 0x70800000
 zreladdr-$(CONFIG_SOC_IMX6Q)	+= 0x10008000
 params_phys-$(CONFIG_SOC_IMX6Q)	:= 0x10000100
 initrd_phys-$(CONFIG_SOC_IMX6Q)	:= 0x10800000
-
-dtb-$(CONFIG_MACH_IMX51_DT) += imx51-babbage.dtb
-dtb-$(CONFIG_MACH_IMX53_DT) += imx53-ard.dtb imx53-evk.dtb \
-			       imx53-qsb.dtb imx53-smd.dtb
-dtb-$(CONFIG_SOC_IMX6Q)	+= imx6q-arm2.dtb \
-			   imx6q-sabrelite.dtb \
-			   imx6q-sabresd.dtb \
diff --git a/arch/arm/mach-kirkwood/Makefile.boot b/arch/arm/mach-kirkwood/Makefile.boot
index a13299d..760a0ef 100644
--- a/arch/arm/mach-kirkwood/Makefile.boot
+++ b/arch/arm/mach-kirkwood/Makefile.boot
@@ -1,14 +1,3 @@
    zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_DREAMPLUG_DT) += kirkwood-dreamplug.dtb
-dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns320.dtb
-dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns325.dtb
-dtb-$(CONFIG_MACH_ICONNECT_DT) += kirkwood-iconnect.dtb
-dtb-$(CONFIG_MACH_IB62X0_DT) += kirkwood-ib62x0.dtb
-dtb-$(CONFIG_MACH_TS219_DT)	+= kirkwood-ts219-6281.dtb
-dtb-$(CONFIG_MACH_TS219_DT)	+= kirkwood-ts219-6282.dtb
-dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb
-dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb
-dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb
diff --git a/arch/arm/mach-lpc32xx/Makefile.boot b/arch/arm/mach-lpc32xx/Makefile.boot
index 697323b..d7392a4 100644
--- a/arch/arm/mach-lpc32xx/Makefile.boot
+++ b/arch/arm/mach-lpc32xx/Makefile.boot
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x80008000
 params_phys-y	:= 0x80000100
 initrd_phys-y	:= 0x82000000
-
-dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
diff --git a/arch/arm/mach-mvebu/Makefile.boot b/arch/arm/mach-mvebu/Makefile.boot
index 2579a2f..b327175 100644
--- a/arch/arm/mach-mvebu/Makefile.boot
+++ b/arch/arm/mach-mvebu/Makefile.boot
@@ -1,3 +1 @@
 zreladdr-y := 0x00008000
-dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-db.dtb
-dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-xp-db.dtb
diff --git a/arch/arm/mach-mxs/Makefile.boot b/arch/arm/mach-mxs/Makefile.boot
index 4582999..07b11fe 100644
--- a/arch/arm/mach-mxs/Makefile.boot
+++ b/arch/arm/mach-mxs/Makefile.boot
@@ -1,10 +1 @@
 zreladdr-y += 0x40008000
-
-dtb-y += imx23-evk.dtb \
-	 imx23-olinuxino.dtb \
-	 imx23-stmp378x_devb.dtb \
-	 imx28-apx4devkit.dtb \
-	 imx28-cfa10036.dtb \
-	 imx28-evk.dtb \
-	 imx28-m28evk.dtb \
-	 imx28-tx28.dtb \
diff --git a/arch/arm/mach-spear13xx/Makefile.boot b/arch/arm/mach-spear13xx/Makefile.boot
index 403efd7..4674a4c 100644
--- a/arch/arm/mach-spear13xx/Makefile.boot
+++ b/arch/arm/mach-spear13xx/Makefile.boot
@@ -1,6 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SPEAR1310)	+= spear1310-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR1340)	+= spear1340-evb.dtb
diff --git a/arch/arm/mach-spear3xx/Makefile.boot b/arch/arm/mach-spear3xx/Makefile.boot
index d93e217..4674a4c 100644
--- a/arch/arm/mach-spear3xx/Makefile.boot
+++ b/arch/arm/mach-spear3xx/Makefile.boot
@@ -1,7 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SPEAR300)	+= spear300-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR310)	+= spear310-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR320)	+= spear320-evb.dtb
diff --git a/arch/arm/mach-spear6xx/Makefile.boot b/arch/arm/mach-spear6xx/Makefile.boot
index af493da..4674a4c 100644
--- a/arch/arm/mach-spear6xx/Makefile.boot
+++ b/arch/arm/mach-spear6xx/Makefile.boot
@@ -1,5 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_BOARD_SPEAR600_DT)	+= spear600-evb.dtb
diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot
index 7a1bb62..2943381 100644
--- a/arch/arm/mach-tegra/Makefile.boot
+++ b/arch/arm/mach-tegra/Makefile.boot
@@ -1,11 +1,3 @@
 zreladdr-$(CONFIG_ARCH_TEGRA_2x_SOC)	+= 0x00008000
 params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00000100
 initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00800000
-
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-paz00.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-seaboard.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-trimslice.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-ventana.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-whistler.dtb
-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
diff --git a/arch/arm/mach-ux500/Makefile.boot b/arch/arm/mach-ux500/Makefile.boot
index dd5cd00..760a0ef 100644
--- a/arch/arm/mach-ux500/Makefile.boot
+++ b/arch/arm/mach-ux500/Makefile.boot
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SNOWBALL) += snowball.dtb
diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot
index 318d308..c6dd891 100644
--- a/arch/arm/mach-vexpress/Makefile.boot
+++ b/arch/arm/mach-vexpress/Makefile.boot
@@ -3,8 +3,3 @@
    zreladdr-y	+= 0x60008000
 params_phys-y	:= 0x60000100
 initrd_phys-y	:= 0x60800000
-
-dtb-$(CONFIG_ARCH_VEXPRESS_DT)	+= vexpress-v2p-ca5s.dtb \
-				   vexpress-v2p-ca9.dtb \
-				   vexpress-v2p-ca15-tc1.dtb \
-				   vexpress-v2p-ca15_a7.dtb
-- 
1.7.9.5

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Shawn Guo <hidden>
Date: 2012-09-07 02:27:14

On Thu, Sep 06, 2012 at 03:12:50PM -0500, Rob Herring wrote:
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
+dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
+dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb tegra20-paz00.dtb \
+	tegra20-seaboard.dtb tegra20-trimslice.dtb tegra20-ventana.dtb \
+	tegra20-whistler.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
+dtb-$(CONFIG_BOARD_SPEAR600_DT)	+= spear600-evb.dtb
Replace tab with space?
+dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-db.dtb armada-xp-db.dtb
+dtb-$(CONFIG_MACH_AT91SAM_DT) += aks-cdu.dtb at91sam9263ek.dtb \
+	at91sam9g20ek_2mmc.dtb at91sam9g20ek.dtb at91sam9g25ek.dtb \
+	at91sam9m10g45ek.dtb at91sam9n12ek.dtb ethernut5.dtb evk-pro3.dtb \
+	kizbox.dtb tny_a9260.dtb tny_a9263.dtb tny_a9g20.dtb usb_a9260.dtb \
+	usb_a9263.dtb usb_a9g20.dtb
+dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns320.dtb kirkwood-dns325.dtb
+dtb-$(CONFIG_MACH_DREAMPLUG_DT) += kirkwood-dreamplug.dtb
+dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb
+dtb-$(CONFIG_MACH_EXYNOS5_DT) += exynos5250-smdk5250.dtb
+dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb
+dtb-$(CONFIG_MACH_IB62X0_DT) += kirkwood-ib62x0.dtb
+dtb-$(CONFIG_MACH_ICONNECT_DT) += kirkwood-iconnect.dtb
+dtb-$(CONFIG_MACH_IMX51_DT) += imx51-babbage.dtb
+dtb-$(CONFIG_MACH_IMX53_DT) += imx53-ard.dtb imx53-evk.dtb \
+	imx53-qsb.dtb imx53-smd.dtb
+dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb
+dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb
+dtb-$(CONFIG_MACH_SNOWBALL) += snowball.dtb
+dtb-$(CONFIG_MACH_SPEAR1310) += spear1310-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR1340) += spear1340-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR300) += spear300-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR310) += spear310-evb.dtb
+dtb-$(CONFIG_MACH_SPEAR320) += spear320-evb.dtb
+dtb-$(CONFIG_MACH_TS219_DT) += kirkwood-ts219-6281.dtb kirkwood-ts219-6282.dtb
+dtb-$(CONFIG_SOC_IMX6Q)	+= imx6q-arm2.dtb imx6q-sabrelite.dtb \
Ditto
+			   imx6q-sabresd.dtb
This does not follow the indention pattern.
+dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb imx23-olinuxino.dtb \
+	 imx23-stmp378x_devb.dtb imx28-apx4devkit.dtb \
+	 imx28-cfa10036.dtb imx28-evk.dtb \
+	 imx28-m28evk.dtb imx28-tx28.dtb
Ditto
+dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
+	   vexpress-v2p-ca9.dtb vexpress-v2p-ca15-tc1.dtb \
+	   vexpress-v2p-ca15_a7.dtb
Ditto

CONFIG_ARCH_MXS and CONFIG_ARCH_VEXPRESS entries are not well sorted.
They should be in the CONFIG_ARCH_* section.

Otherwise,

Acked-by: Shawn Guo <redacted>

PS. A little heads-up: if this lands on 3.7, there will be conflict
on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
cycle.

-- 
Regards,
Shawn

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Stephen Warren <hidden>
Date: 2012-09-07 02:36:41

On 09/06/2012 08:27 PM, Shawn Guo wrote:
On Thu, Sep 06, 2012 at 03:12:50PM -0500, Rob Herring wrote:
quoted
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
+dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
+dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb tegra20-paz00.dtb \
+	tegra20-seaboard.dtb tegra20-trimslice.dtb tegra20-ventana.dtb \
+	tegra20-whistler.dtb
Hmm. The existing files all have one file per line, which makes
adding/removing files have a little less impact; whole lines are
added/removed rather than needing to reflow the whole list. Should we
apply the same layout here too?
PS. A little heads-up: if this lands on 3.7, there will be conflict
on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
cycle.
The same is true of Tegra:

-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Shawn Guo <hidden>
Date: 2012-09-07 02:39:57

On Thu, Sep 06, 2012 at 08:36:41PM -0600, Stephen Warren wrote:
On 09/06/2012 08:27 PM, Shawn Guo wrote:
quoted
On Thu, Sep 06, 2012 at 03:12:50PM -0500, Rob Herring wrote:
quoted
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
+dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
+dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb tegra20-paz00.dtb \
+	tegra20-seaboard.dtb tegra20-trimslice.dtb tegra20-ventana.dtb \
+	tegra20-whistler.dtb
Hmm. The existing files all have one file per line, which makes
adding/removing files have a little less impact; whole lines are
added/removed rather than needing to reflow the whole list. Should we
apply the same layout here too?
+1

-- 
Regards,
Shawn

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Rob Herring <hidden>
Date: 2012-09-11 12:02:58

On 09/06/2012 09:39 PM, Shawn Guo wrote:
On Thu, Sep 06, 2012 at 08:36:41PM -0600, Stephen Warren wrote:
quoted
On 09/06/2012 08:27 PM, Shawn Guo wrote:
quoted
On Thu, Sep 06, 2012 at 03:12:50PM -0500, Rob Herring wrote:
quoted
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
+dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
+dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb tegra20-paz00.dtb \
+	tegra20-seaboard.dtb tegra20-trimslice.dtb tegra20-ventana.dtb \
+	tegra20-whistler.dtb
Hmm. The existing files all have one file per line, which makes
adding/removing files have a little less impact; whole lines are
added/removed rather than needing to reflow the whole list. Should we
apply the same layout here too?
+1
Are you okay if I change i.MX entries to use CONFIG_ARCH_MXC instead of
per SOC entries? I want to make things more consistent and primarily use
the top level CONFIG_ARCH_xxx values.

Rob

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Shawn Guo <hidden>
Date: 2012-09-11 12:06:13

On Tue, Sep 11, 2012 at 07:02:58AM -0500, Rob Herring wrote:
Are you okay if I change i.MX entries to use CONFIG_ARCH_MXC instead of
per SOC entries? I want to make things more consistent and primarily use
the top level CONFIG_ARCH_xxx values.
Yes, I'm okay with that.

-- 
Regards,
Shawn

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: andrew@lunn.ch (Andrew Lunn)
Date: 2012-09-07 05:19:17

quoted
PS. A little heads-up: if this lands on 3.7, there will be conflict
on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
cycle.
The same is true of Tegra:

-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb
Ditto kirkwood and mvebu. And Dove might also gain DT support,
resulting in new entries in its Makefile.boot.

	Andrew

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Rob Herring <hidden>
Date: 2012-09-07 12:51:20

On 09/07/2012 12:19 AM, Andrew Lunn wrote:
quoted
quoted
PS. A little heads-up: if this lands on 3.7, there will be conflict
on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
cycle.
The same is true of Tegra:

-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb
Ditto kirkwood and mvebu. And Dove might also gain DT support,
resulting in new entries in its Makefile.boot.
It's basically scripted plus fix-up multi-line entries. We could do this
at the end of the merge window. I don't think "make dtbs" for
multi-platform enabled platforms being bisectable is too important.

Rob

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: arnd@arndb.de (Arnd Bergmann)
Date: 2012-09-07 13:25:30

On Friday 07 September 2012, Rob Herring wrote:
On 09/07/2012 12:19 AM, Andrew Lunn wrote:
quoted
quoted
quoted
PS. A little heads-up: if this lands on 3.7, there will be conflict
on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
cycle.
The same is true of Tegra:

-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb
Ditto kirkwood and mvebu. And Dove might also gain DT support,
resulting in new entries in its Makefile.boot.
It's basically scripted plus fix-up multi-line entries. We could do this
at the end of the merge window. I don't think "make dtbs" for
multi-platform enabled platforms being bisectable is too important.
I think I'd rather merge the series early in the merge window and
then send a follow-up later. It shouldn't hurt to add the lines
in the Makefile.boot files after this patch, right?

	Arnd

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Rob Herring <hidden>
Date: 2012-09-07 13:46:33

On 09/07/2012 08:25 AM, Arnd Bergmann wrote:
On Friday 07 September 2012, Rob Herring wrote:
quoted
On 09/07/2012 12:19 AM, Andrew Lunn wrote:
quoted
quoted
quoted
PS. A little heads-up: if this lands on 3.7, there will be conflict
on arch/arm/mach-mxs/Makefile.boot which gets new entries in this
cycle.
The same is true of Tegra:

-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a02.dtb
+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu-a04.dtb
Ditto kirkwood and mvebu. And Dove might also gain DT support,
resulting in new entries in its Makefile.boot.
It's basically scripted plus fix-up multi-line entries. We could do this
at the end of the merge window. I don't think "make dtbs" for
multi-platform enabled platforms being bisectable is too important.
I think I'd rather merge the series early in the merge window and
then send a follow-up later. It shouldn't hurt to add the lines
in the Makefile.boot files after this patch, right?
In Steven's example, no, but if it's just a new line with only "
board.dtb \" then it will have to be fixed.

I suppose I could just move the converted platforms and leave the rest.
That doesn't help mvebu though.

Rob

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Jean-Christophe PLAGNIOL-VILLARD <hidden>
Date: 2012-09-10 15:52:24

On 15:12 Thu 06 Sep     , Rob Herring wrote:
quoted hunk
From: Rob Herring <redacted>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
Cc: Andrew Victor <redacted>
Cc: Nicolas Ferre <redacted>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Kukjin Kim <redacted>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <redacted>
Cc: Shawn Guo <redacted>
Cc: Viresh Kumar <redacted>
Cc: Shiraz Hashim <redacted>
Cc: Rajeev Kumar <redacted>
Cc: Stephen Warren <redacted>
Cc: Srinidhi Kasagar <redacted>
Cc: Linus Walleij <redacted>
---
 arch/arm/boot/Makefile                |    2 ++
 arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
 arch/arm/mach-at91/Makefile.boot      |   24 -------------------
 arch/arm/mach-exynos/Makefile.boot    |    3 ---
 arch/arm/mach-imx/Makefile.boot       |    7 ------
 arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
 arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
 arch/arm/mach-mvebu/Makefile.boot     |    2 --
 arch/arm/mach-mxs/Makefile.boot       |    9 --------
 arch/arm/mach-spear13xx/Makefile.boot |    3 ---
 arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
 arch/arm/mach-spear6xx/Makefile.boot  |    2 --
 arch/arm/mach-tegra/Makefile.boot     |    8 -------
 arch/arm/mach-ux500/Makefile.boot     |    2 --
 arch/arm/mach-vexpress/Makefile.boot  |    5 ----
 15 files changed, 43 insertions(+), 82 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index c877087..3fdab01 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
 include $(srctree)/$(MACHINE)/Makefile.boot
 endif
 
+include $(srctree)/arch/arm/boot/dts/Makefile
+
 # Note: the following conditions must always be true:
 #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
 #   PARAMS_PHYS must be within 4MB of ZRELADDR
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
new file mode 100644
index 0000000..e59586b
--- /dev/null
+++ b/arch/arm/boot/dts/Makefile
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
sorry I see no need of the dtb-y

just do all the time

Best Regards,
J.

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Rob Herring <hidden>
Date: 2012-09-10 17:51:44

On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
On 15:12 Thu 06 Sep     , Rob Herring wrote:
quoted
From: Rob Herring <redacted>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
Cc: Andrew Victor <redacted>
Cc: Nicolas Ferre <redacted>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Kukjin Kim <redacted>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <redacted>
Cc: Shawn Guo <redacted>
Cc: Viresh Kumar <redacted>
Cc: Shiraz Hashim <redacted>
Cc: Rajeev Kumar <redacted>
Cc: Stephen Warren <redacted>
Cc: Srinidhi Kasagar <redacted>
Cc: Linus Walleij <redacted>
---
 arch/arm/boot/Makefile                |    2 ++
 arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
 arch/arm/mach-at91/Makefile.boot      |   24 -------------------
 arch/arm/mach-exynos/Makefile.boot    |    3 ---
 arch/arm/mach-imx/Makefile.boot       |    7 ------
 arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
 arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
 arch/arm/mach-mvebu/Makefile.boot     |    2 --
 arch/arm/mach-mxs/Makefile.boot       |    9 --------
 arch/arm/mach-spear13xx/Makefile.boot |    3 ---
 arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
 arch/arm/mach-spear6xx/Makefile.boot  |    2 --
 arch/arm/mach-tegra/Makefile.boot     |    8 -------
 arch/arm/mach-ux500/Makefile.boot     |    2 --
 arch/arm/mach-vexpress/Makefile.boot  |    5 ----
 15 files changed, 43 insertions(+), 82 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index c877087..3fdab01 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
 include $(srctree)/$(MACHINE)/Makefile.boot
 endif
 
+include $(srctree)/arch/arm/boot/dts/Makefile
+
 # Note: the following conditions must always be true:
 #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
 #   PARAMS_PHYS must be within 4MB of ZRELADDR
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
new file mode 100644
index 0000000..e59586b
--- /dev/null
+++ b/arch/arm/boot/dts/Makefile
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
sorry I see no need of the dtb-y

just do all the time
That's not how it works today. dtb's only for all enabled platforms are
built. Changing the behavior should be a different patch.

Rob

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Jean-Christophe PLAGNIOL-VILLARD <hidden>
Date: 2012-09-11 04:49:07

On 12:51 Mon 10 Sep     , Rob Herring wrote:
On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
On 15:12 Thu 06 Sep     , Rob Herring wrote:
quoted
From: Rob Herring <redacted>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
Cc: Andrew Victor <redacted>
Cc: Nicolas Ferre <redacted>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Kukjin Kim <redacted>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <redacted>
Cc: Shawn Guo <redacted>
Cc: Viresh Kumar <redacted>
Cc: Shiraz Hashim <redacted>
Cc: Rajeev Kumar <redacted>
Cc: Stephen Warren <redacted>
Cc: Srinidhi Kasagar <redacted>
Cc: Linus Walleij <redacted>
---
 arch/arm/boot/Makefile                |    2 ++
 arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
 arch/arm/mach-at91/Makefile.boot      |   24 -------------------
 arch/arm/mach-exynos/Makefile.boot    |    3 ---
 arch/arm/mach-imx/Makefile.boot       |    7 ------
 arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
 arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
 arch/arm/mach-mvebu/Makefile.boot     |    2 --
 arch/arm/mach-mxs/Makefile.boot       |    9 --------
 arch/arm/mach-spear13xx/Makefile.boot |    3 ---
 arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
 arch/arm/mach-spear6xx/Makefile.boot  |    2 --
 arch/arm/mach-tegra/Makefile.boot     |    8 -------
 arch/arm/mach-ux500/Makefile.boot     |    2 --
 arch/arm/mach-vexpress/Makefile.boot  |    5 ----
 15 files changed, 43 insertions(+), 82 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index c877087..3fdab01 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
 include $(srctree)/$(MACHINE)/Makefile.boot
 endif
 
+include $(srctree)/arch/arm/boot/dts/Makefile
+
 # Note: the following conditions must always be true:
 #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
 #   PARAMS_PHYS must be within 4MB of ZRELADDR
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
new file mode 100644
index 0000000..e59586b
--- /dev/null
+++ b/arch/arm/boot/dts/Makefile
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
sorry I see no need of the dtb-y

just do all the time
That's not how it works today. dtb's only for all enabled platforms are
built. Changing the behavior should be a different patch.
no I see no point to check if the platform is enable or not just build all

This will allow to check them

Best Regards,
J.

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Stephen Warren <hidden>
Date: 2012-09-11 05:41:37

On 09/10/2012 10:49 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
On 12:51 Mon 10 Sep     , Rob Herring wrote:
quoted
On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
On 15:12 Thu 06 Sep     , Rob Herring wrote:
quoted
From: Rob Herring <redacted>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
Cc: Andrew Victor <redacted>
Cc: Nicolas Ferre <redacted>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Kukjin Kim <redacted>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <redacted>
Cc: Shawn Guo <redacted>
Cc: Viresh Kumar <redacted>
Cc: Shiraz Hashim <redacted>
Cc: Rajeev Kumar <redacted>
Cc: Stephen Warren <redacted>
Cc: Srinidhi Kasagar <redacted>
Cc: Linus Walleij <redacted>
---
 arch/arm/boot/Makefile                |    2 ++
 arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
 arch/arm/mach-at91/Makefile.boot      |   24 -------------------
 arch/arm/mach-exynos/Makefile.boot    |    3 ---
 arch/arm/mach-imx/Makefile.boot       |    7 ------
 arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
 arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
 arch/arm/mach-mvebu/Makefile.boot     |    2 --
 arch/arm/mach-mxs/Makefile.boot       |    9 --------
 arch/arm/mach-spear13xx/Makefile.boot |    3 ---
 arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
 arch/arm/mach-spear6xx/Makefile.boot  |    2 --
 arch/arm/mach-tegra/Makefile.boot     |    8 -------
 arch/arm/mach-ux500/Makefile.boot     |    2 --
 arch/arm/mach-vexpress/Makefile.boot  |    5 ----
 15 files changed, 43 insertions(+), 82 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index c877087..3fdab01 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
 include $(srctree)/$(MACHINE)/Makefile.boot
 endif
 
+include $(srctree)/arch/arm/boot/dts/Makefile
+
 # Note: the following conditions must always be true:
 #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
 #   PARAMS_PHYS must be within 4MB of ZRELADDR
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
new file mode 100644
index 0000000..e59586b
--- /dev/null
+++ b/arch/arm/boot/dts/Makefile
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
sorry I see no need of the dtb-y

just do all the time
That's not how it works today. dtb's only for all enabled platforms are
built. Changing the behavior should be a different patch.
no I see no point to check if the platform is enable or not just build all

This will allow to check them
Why would I want to build 100 .dtbs that I don't care about? If I want
to check them, I can either build all the defconfigs, or simply write a
trivial sh for loop to loop over *.dts in the boot/dts directory.

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Jean-Christophe PLAGNIOL-VILLARD <hidden>
Date: 2012-09-11 13:25:07

On 23:41 Mon 10 Sep     , Stephen Warren wrote:
On 09/10/2012 10:49 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
On 12:51 Mon 10 Sep     , Rob Herring wrote:
quoted
On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
On 15:12 Thu 06 Sep     , Rob Herring wrote:
quoted
From: Rob Herring <redacted>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
Cc: Andrew Victor <redacted>
Cc: Nicolas Ferre <redacted>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Kukjin Kim <redacted>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <redacted>
Cc: Shawn Guo <redacted>
Cc: Viresh Kumar <redacted>
Cc: Shiraz Hashim <redacted>
Cc: Rajeev Kumar <redacted>
Cc: Stephen Warren <redacted>
Cc: Srinidhi Kasagar <redacted>
Cc: Linus Walleij <redacted>
---
 arch/arm/boot/Makefile                |    2 ++
 arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
 arch/arm/mach-at91/Makefile.boot      |   24 -------------------
 arch/arm/mach-exynos/Makefile.boot    |    3 ---
 arch/arm/mach-imx/Makefile.boot       |    7 ------
 arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
 arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
 arch/arm/mach-mvebu/Makefile.boot     |    2 --
 arch/arm/mach-mxs/Makefile.boot       |    9 --------
 arch/arm/mach-spear13xx/Makefile.boot |    3 ---
 arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
 arch/arm/mach-spear6xx/Makefile.boot  |    2 --
 arch/arm/mach-tegra/Makefile.boot     |    8 -------
 arch/arm/mach-ux500/Makefile.boot     |    2 --
 arch/arm/mach-vexpress/Makefile.boot  |    5 ----
 15 files changed, 43 insertions(+), 82 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index c877087..3fdab01 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
 include $(srctree)/$(MACHINE)/Makefile.boot
 endif
 
+include $(srctree)/arch/arm/boot/dts/Makefile
+
 # Note: the following conditions must always be true:
 #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
 #   PARAMS_PHYS must be within 4MB of ZRELADDR
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
new file mode 100644
index 0000000..e59586b
--- /dev/null
+++ b/arch/arm/boot/dts/Makefile
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
sorry I see no need of the dtb-y

just do all the time
That's not how it works today. dtb's only for all enabled platforms are
built. Changing the behavior should be a different patch.
no I see no point to check if the platform is enable or not just build all

This will allow to check them
Why would I want to build 100 .dtbs that I don't care about? If I want
to check them, I can either build all the defconfigs, or simply write a
trivial sh for loop to loop over *.dts in the boot/dts directory.
I do not like this idea to just build the dts per platform

It save nearly no time to compile

it just make it fragile to maintain

Best Regards,
J.

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Rob Herring <hidden>
Date: 2012-09-11 16:04:54

On 09/11/2012 08:25 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
On 23:41 Mon 10 Sep     , Stephen Warren wrote:
quoted
On 09/10/2012 10:49 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
On 12:51 Mon 10 Sep     , Rob Herring wrote:
quoted
On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
On 15:12 Thu 06 Sep     , Rob Herring wrote:
quoted
From: Rob Herring <redacted>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
Cc: Andrew Victor <redacted>
Cc: Nicolas Ferre <redacted>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Kukjin Kim <redacted>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <redacted>
Cc: Shawn Guo <redacted>
Cc: Viresh Kumar <redacted>
Cc: Shiraz Hashim <redacted>
Cc: Rajeev Kumar <redacted>
Cc: Stephen Warren <redacted>
Cc: Srinidhi Kasagar <redacted>
Cc: Linus Walleij <redacted>
---
 arch/arm/boot/Makefile                |    2 ++
 arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
 arch/arm/mach-at91/Makefile.boot      |   24 -------------------
 arch/arm/mach-exynos/Makefile.boot    |    3 ---
 arch/arm/mach-imx/Makefile.boot       |    7 ------
 arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
 arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
 arch/arm/mach-mvebu/Makefile.boot     |    2 --
 arch/arm/mach-mxs/Makefile.boot       |    9 --------
 arch/arm/mach-spear13xx/Makefile.boot |    3 ---
 arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
 arch/arm/mach-spear6xx/Makefile.boot  |    2 --
 arch/arm/mach-tegra/Makefile.boot     |    8 -------
 arch/arm/mach-ux500/Makefile.boot     |    2 --
 arch/arm/mach-vexpress/Makefile.boot  |    5 ----
 15 files changed, 43 insertions(+), 82 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index c877087..3fdab01 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
 include $(srctree)/$(MACHINE)/Makefile.boot
 endif
 
+include $(srctree)/arch/arm/boot/dts/Makefile
+
 # Note: the following conditions must always be true:
 #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
 #   PARAMS_PHYS must be within 4MB of ZRELADDR
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
new file mode 100644
index 0000000..e59586b
--- /dev/null
+++ b/arch/arm/boot/dts/Makefile
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
sorry I see no need of the dtb-y

just do all the time
That's not how it works today. dtb's only for all enabled platforms are
built. Changing the behavior should be a different patch.
no I see no point to check if the platform is enable or not just build all

This will allow to check them
Why would I want to build 100 .dtbs that I don't care about? If I want
to check them, I can either build all the defconfigs, or simply write a
trivial sh for loop to loop over *.dts in the boot/dts directory.
I do not like this idea to just build the dts per platform

It save nearly no time to compile

it just make it fragile to maintain
That is arguably true for many config options...

The dtbs will effectively all get enabled once platforms are converted
over to multi-platform and we add some multi-platform defconfigs. make
dtbs doesn't even build all dtbs today. It is only ones in Makefile.boot.

Anyway, I still see this as a separate issue and new feature to be done
separately if and when there is agreement.

Rob

[PATCH 07/12] ARM: move all dtb targets out of Makefile.boot

From: Nicolas Pitre <hidden>
Date: 2012-09-11 18:51:02

On Tue, 11 Sep 2012, Jean-Christophe PLAGNIOL-VILLARD wrote:
On 23:41 Mon 10 Sep     , Stephen Warren wrote:
quoted
On 09/10/2012 10:49 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
On 12:51 Mon 10 Sep     , Rob Herring wrote:
quoted
On 09/10/2012 10:52 AM, Jean-Christophe PLAGNIOL-VILLARD wrote:
quoted
On 15:12 Thu 06 Sep     , Rob Herring wrote:
quoted
From: Rob Herring <redacted>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
Cc: Andrew Victor <redacted>
Cc: Nicolas Ferre <redacted>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Kukjin Kim <redacted>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <redacted>
Cc: Shawn Guo <redacted>
Cc: Viresh Kumar <redacted>
Cc: Shiraz Hashim <redacted>
Cc: Rajeev Kumar <redacted>
Cc: Stephen Warren <redacted>
Cc: Srinidhi Kasagar <redacted>
Cc: Linus Walleij <redacted>
---
 arch/arm/boot/Makefile                |    2 ++
 arch/arm/boot/dts/Makefile            |   41 +++++++++++++++++++++++++++++++++
 arch/arm/mach-at91/Makefile.boot      |   24 -------------------
 arch/arm/mach-exynos/Makefile.boot    |    3 ---
 arch/arm/mach-imx/Makefile.boot       |    7 ------
 arch/arm/mach-kirkwood/Makefile.boot  |   11 ---------
 arch/arm/mach-lpc32xx/Makefile.boot   |    2 --
 arch/arm/mach-mvebu/Makefile.boot     |    2 --
 arch/arm/mach-mxs/Makefile.boot       |    9 --------
 arch/arm/mach-spear13xx/Makefile.boot |    3 ---
 arch/arm/mach-spear3xx/Makefile.boot  |    4 ----
 arch/arm/mach-spear6xx/Makefile.boot  |    2 --
 arch/arm/mach-tegra/Makefile.boot     |    8 -------
 arch/arm/mach-ux500/Makefile.boot     |    2 --
 arch/arm/mach-vexpress/Makefile.boot  |    5 ----
 15 files changed, 43 insertions(+), 82 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index c877087..3fdab01 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
 include $(srctree)/$(MACHINE)/Makefile.boot
 endif
 
+include $(srctree)/arch/arm/boot/dts/Makefile
+
 # Note: the following conditions must always be true:
 #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
 #   PARAMS_PHYS must be within 4MB of ZRELADDR
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
new file mode 100644
index 0000000..e59586b
--- /dev/null
+++ b/arch/arm/boot/dts/Makefile
@@ -0,0 +1,41 @@
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
sorry I see no need of the dtb-y

just do all the time
That's not how it works today. dtb's only for all enabled platforms are
built. Changing the behavior should be a different patch.
no I see no point to check if the platform is enable or not just build all

This will allow to check them
Why would I want to build 100 .dtbs that I don't care about? If I want
to check them, I can either build all the defconfigs, or simply write a
trivial sh for loop to loop over *.dts in the boot/dts directory.
I do not like this idea to just build the dts per platform

It save nearly no time to compile
We could say the same thing for most drivers as well.

But when you enable them all, the time adds up.

And the result directory becomes cluttered with files unrelated to your 
configured target which is rather untidy.
it just make it fragile to maintain
That isn't very convincing.


Nicolas

[PATCH v2] ARM: move all dtb targets out of Makefile.boot

From: Rob Herring <hidden>
Date: 2012-09-11 18:08:51

From: Rob Herring <redacted>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

DTBs are only built when CONFIG_OF is enabled and now use top level
CONFIG_ARCH_xxx instead of chip or board specific config options.

Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
Cc: Andrew Victor <redacted>
Cc: Nicolas Ferre <redacted>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Kukjin Kim <redacted>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <redacted>
Acked-by: Shawn Guo <redacted>
Cc: Viresh Kumar <redacted>
Cc: Shiraz Hashim <redacted>
Cc: Rajeev Kumar <redacted>
Cc: Stephen Warren <redacted>
Cc: Srinidhi Kasagar <redacted>
Cc: Linus Walleij <redacted>
---

v2:  
- whitespace and sorting clean-up
- use CONFIG_ARCH_xxx instead of per board/SOC config options
- make conditional on CONFIG_OF

 arch/arm/boot/Makefile                |    2 +
 arch/arm/boot/dts/Makefile            |   71 +++++++++++++++++++++++++++++++++
 arch/arm/mach-at91/Makefile.boot      |   24 -----------
 arch/arm/mach-exynos/Makefile.boot    |    3 --
 arch/arm/mach-imx/Makefile.boot       |    7 ----
 arch/arm/mach-kirkwood/Makefile.boot  |   11 -----
 arch/arm/mach-lpc32xx/Makefile.boot   |    2 -
 arch/arm/mach-mvebu/Makefile.boot     |    2 -
 arch/arm/mach-mxs/Makefile.boot       |    9 -----
 arch/arm/mach-spear13xx/Makefile.boot |    3 --
 arch/arm/mach-spear3xx/Makefile.boot  |    4 --
 arch/arm/mach-spear6xx/Makefile.boot  |    2 -
 arch/arm/mach-tegra/Makefile.boot     |    8 ----
 arch/arm/mach-ux500/Makefile.boot     |    2 -
 arch/arm/mach-vexpress/Makefile.boot  |    5 ---
 15 files changed, 73 insertions(+), 82 deletions(-)
 create mode 100644 arch/arm/boot/dts/Makefile
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index c877087..3fdab01 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -15,6 +15,8 @@ ifneq ($(MACHINE),)
 include $(srctree)/$(MACHINE)/Makefile.boot
 endif
 
+include $(srctree)/arch/arm/boot/dts/Makefile
+
 # Note: the following conditions must always be true:
 #   ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
 #   PARAMS_PHYS must be within 4MB of ZRELADDR
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
new file mode 100644
index 0000000..d081e6a
--- /dev/null
+++ b/arch/arm/boot/dts/Makefile
@@ -0,0 +1,71 @@
+ifeq ($(CONFIG_OF),y)
+
+dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb \
+	at91sam9263ek.dtb \
+	at91sam9g20ek_2mmc.dtb \
+	at91sam9g20ek.dtb \
+	at91sam9g25ek.dtb \
+	at91sam9m10g45ek.dtb \
+	at91sam9n12ek.dtb \
+	ethernut5.dtb \
+	evk-pro3.dtb \
+	kizbox.dtb \
+	tny_a9260.dtb \
+	tny_a9263.dtb \
+	tny_a9g20.dtb \
+	usb_a9260.dtb \
+	usb_a9263.dtb \
+	usb_a9g20.dtb
+dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
+	exynos4210-smdkv310.dtb \
+	exynos5250-smdk5250.dtb
+dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
+dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
+dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \
+	kirkwood-dns325.dtb \
+	kirkwood-dreamplug.dtb \
+	kirkwood-goflexnet.dtb \
+	kirkwood-ib62x0.dtb \
+	kirkwood-iconnect.dtb \
+	kirkwood-lschlv2.dtb \
+	kirkwood-lsxhl.dtb \
+	kirkwood-ts219-6281.dtb \
+	kirkwood-ts219-6282.dtb
+dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
+	armada-xp-db.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx51-babbage.dtb \
+	imx53-ard.dtb \
+	imx53-evk.dtb \
+	imx53-qsb.dtb \
+	imx53-smd.dtb \
+	imx6q-arm2.dtb \
+	imx6q-sabrelite.dtb \
+	imx6q-sabresd.dtb
+dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
+	imx23-olinuxino.dtb \
+	imx23-stmp378x_devb.dtb \
+	imx28-apx4devkit.dtb \
+	imx28-cfa10036.dtb \
+	imx28-evk.dtb \
+	imx28-m28evk.dtb \
+	imx28-tx28.dtb
+dtb-$(CONFIG_ARCH_U8500) += snowball.dtb
+dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
+	spear1340-evb.dtb
+dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \
+	spear310-evb.dtb \
+	spear320-evb.dtb
+dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb
+dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
+	tegra20-paz00.dtb \
+	tegra20-seaboard.dtb \
+	tegra20-trimslice.dtb \
+	tegra20-ventana.dtb \
+	tegra20-whistler.dtb \
+	tegra30-cardhu.dtb
+dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
+	vexpress-v2p-ca9.dtb \
+	vexpress-v2p-ca15-tc1.dtb \
+	vexpress-v2p-ca15_a7.dtb
+
+endif
diff --git a/arch/arm/mach-at91/Makefile.boot b/arch/arm/mach-at91/Makefile.boot
index 30bb733..5309f9b 100644
--- a/arch/arm/mach-at91/Makefile.boot
+++ b/arch/arm/mach-at91/Makefile.boot
@@ -12,27 +12,3 @@ else
 params_phys-y	:= 0x20000100
 initrd_phys-y	:= 0x20410000
 endif
-
-# Keep dtb files sorted alphabetically for each SoC
-# sam9260
-dtb-$(CONFIG_MACH_AT91SAM_DT) += aks-cdu.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += ethernut5.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += evk-pro3.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9260.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9260.dtb
-# sam9263
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9263ek.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9263.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9263.dtb
-# sam9g20
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g20ek_2mmc.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += kizbox.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += tny_a9g20.dtb
-dtb-$(CONFIG_MACH_AT91SAM_DT) += usb_a9g20.dtb
-# sam9g45
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9m10g45ek.dtb
-# sam9n12
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9n12ek.dtb
-# sam9x5
-dtb-$(CONFIG_MACH_AT91SAM_DT) += at91sam9g25ek.dtb
diff --git a/arch/arm/mach-exynos/Makefile.boot b/arch/arm/mach-exynos/Makefile.boot
index 31bd181..b9862e2 100644
--- a/arch/arm/mach-exynos/Makefile.boot
+++ b/arch/arm/mach-exynos/Makefile.boot
@@ -1,5 +1,2 @@
    zreladdr-y	+= 0x40008000
 params_phys-y	:= 0x40000100
-
-dtb-$(CONFIG_MACH_EXYNOS4_DT) += exynos4210-origen.dtb exynos4210-smdkv310.dtb
-dtb-$(CONFIG_MACH_EXYNOS5_DT) += exynos5250-smdk5250.dtb
diff --git a/arch/arm/mach-imx/Makefile.boot b/arch/arm/mach-imx/Makefile.boot
index 05541cf..b27815d 100644
--- a/arch/arm/mach-imx/Makefile.boot
+++ b/arch/arm/mach-imx/Makefile.boot
@@ -37,10 +37,3 @@ initrd_phys-$(CONFIG_SOC_IMX53)	:= 0x70800000
 zreladdr-$(CONFIG_SOC_IMX6Q)	+= 0x10008000
 params_phys-$(CONFIG_SOC_IMX6Q)	:= 0x10000100
 initrd_phys-$(CONFIG_SOC_IMX6Q)	:= 0x10800000
-
-dtb-$(CONFIG_MACH_IMX51_DT) += imx51-babbage.dtb
-dtb-$(CONFIG_MACH_IMX53_DT) += imx53-ard.dtb imx53-evk.dtb \
-			       imx53-qsb.dtb imx53-smd.dtb
-dtb-$(CONFIG_SOC_IMX6Q)	+= imx6q-arm2.dtb \
-			   imx6q-sabrelite.dtb \
-			   imx6q-sabresd.dtb \
diff --git a/arch/arm/mach-kirkwood/Makefile.boot b/arch/arm/mach-kirkwood/Makefile.boot
index a13299d..760a0ef 100644
--- a/arch/arm/mach-kirkwood/Makefile.boot
+++ b/arch/arm/mach-kirkwood/Makefile.boot
@@ -1,14 +1,3 @@
    zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_DREAMPLUG_DT) += kirkwood-dreamplug.dtb
-dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns320.dtb
-dtb-$(CONFIG_MACH_DLINK_KIRKWOOD_DT) += kirkwood-dns325.dtb
-dtb-$(CONFIG_MACH_ICONNECT_DT) += kirkwood-iconnect.dtb
-dtb-$(CONFIG_MACH_IB62X0_DT) += kirkwood-ib62x0.dtb
-dtb-$(CONFIG_MACH_TS219_DT)	+= kirkwood-ts219-6281.dtb
-dtb-$(CONFIG_MACH_TS219_DT)	+= kirkwood-ts219-6282.dtb
-dtb-$(CONFIG_MACH_GOFLEXNET_DT) += kirkwood-goflexnet.dtb
-dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lschlv2.dtb
-dtb-$(CONFIG_MACH_LSXL_DT) += kirkwood-lsxhl.dtb
diff --git a/arch/arm/mach-lpc32xx/Makefile.boot b/arch/arm/mach-lpc32xx/Makefile.boot
index 697323b..d7392a4 100644
--- a/arch/arm/mach-lpc32xx/Makefile.boot
+++ b/arch/arm/mach-lpc32xx/Makefile.boot
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x80008000
 params_phys-y	:= 0x80000100
 initrd_phys-y	:= 0x82000000
-
-dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
diff --git a/arch/arm/mach-mvebu/Makefile.boot b/arch/arm/mach-mvebu/Makefile.boot
index 2579a2f..b327175 100644
--- a/arch/arm/mach-mvebu/Makefile.boot
+++ b/arch/arm/mach-mvebu/Makefile.boot
@@ -1,3 +1 @@
 zreladdr-y := 0x00008000
-dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-db.dtb
-dtb-$(CONFIG_MACH_ARMADA_370_XP) += armada-xp-db.dtb
diff --git a/arch/arm/mach-mxs/Makefile.boot b/arch/arm/mach-mxs/Makefile.boot
index 4582999..07b11fe 100644
--- a/arch/arm/mach-mxs/Makefile.boot
+++ b/arch/arm/mach-mxs/Makefile.boot
@@ -1,10 +1 @@
 zreladdr-y += 0x40008000
-
-dtb-y += imx23-evk.dtb \
-	 imx23-olinuxino.dtb \
-	 imx23-stmp378x_devb.dtb \
-	 imx28-apx4devkit.dtb \
-	 imx28-cfa10036.dtb \
-	 imx28-evk.dtb \
-	 imx28-m28evk.dtb \
-	 imx28-tx28.dtb \
diff --git a/arch/arm/mach-spear13xx/Makefile.boot b/arch/arm/mach-spear13xx/Makefile.boot
index 403efd7..4674a4c 100644
--- a/arch/arm/mach-spear13xx/Makefile.boot
+++ b/arch/arm/mach-spear13xx/Makefile.boot
@@ -1,6 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SPEAR1310)	+= spear1310-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR1340)	+= spear1340-evb.dtb
diff --git a/arch/arm/mach-spear3xx/Makefile.boot b/arch/arm/mach-spear3xx/Makefile.boot
index d93e217..4674a4c 100644
--- a/arch/arm/mach-spear3xx/Makefile.boot
+++ b/arch/arm/mach-spear3xx/Makefile.boot
@@ -1,7 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SPEAR300)	+= spear300-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR310)	+= spear310-evb.dtb
-dtb-$(CONFIG_MACH_SPEAR320)	+= spear320-evb.dtb
diff --git a/arch/arm/mach-spear6xx/Makefile.boot b/arch/arm/mach-spear6xx/Makefile.boot
index af493da..4674a4c 100644
--- a/arch/arm/mach-spear6xx/Makefile.boot
+++ b/arch/arm/mach-spear6xx/Makefile.boot
@@ -1,5 +1,3 @@
 zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_BOARD_SPEAR600_DT)	+= spear600-evb.dtb
diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot
index 7a1bb62..2943381 100644
--- a/arch/arm/mach-tegra/Makefile.boot
+++ b/arch/arm/mach-tegra/Makefile.boot
@@ -1,11 +1,3 @@
 zreladdr-$(CONFIG_ARCH_TEGRA_2x_SOC)	+= 0x00008000
 params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00000100
 initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC)	:= 0x00800000
-
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-harmony.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-paz00.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-seaboard.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-trimslice.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-ventana.dtb
-dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += tegra20-whistler.dtb
-dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += tegra30-cardhu.dtb
diff --git a/arch/arm/mach-ux500/Makefile.boot b/arch/arm/mach-ux500/Makefile.boot
index dd5cd00..760a0ef 100644
--- a/arch/arm/mach-ux500/Makefile.boot
+++ b/arch/arm/mach-ux500/Makefile.boot
@@ -1,5 +1,3 @@
    zreladdr-y	+= 0x00008000
 params_phys-y	:= 0x00000100
 initrd_phys-y	:= 0x00800000
-
-dtb-$(CONFIG_MACH_SNOWBALL) += snowball.dtb
diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot
index 318d308..c6dd891 100644
--- a/arch/arm/mach-vexpress/Makefile.boot
+++ b/arch/arm/mach-vexpress/Makefile.boot
@@ -3,8 +3,3 @@
    zreladdr-y	+= 0x60008000
 params_phys-y	:= 0x60000100
 initrd_phys-y	:= 0x60800000
-
-dtb-$(CONFIG_ARCH_VEXPRESS_DT)	+= vexpress-v2p-ca5s.dtb \
-				   vexpress-v2p-ca9.dtb \
-				   vexpress-v2p-ca15-tc1.dtb \
-				   vexpress-v2p-ca15_a7.dtb
-- 
1.7.9.5

[PATCH v2] ARM: move all dtb targets out of Makefile.boot

From: Stephen Warren <hidden>
Date: 2012-09-11 18:43:11

On 09/11/2012 12:08 PM, Rob Herring wrote:
From: Rob Herring <redacted>

In preparation to support multi-platform kernels, move all the dtb targets
out of the mach Makefile.boot and into the arch/arm/boot/dts/Makefile
which is closer to the sources.

DTBs are only built when CONFIG_OF is enabled and now use top level
CONFIG_ARCH_xxx instead of chip or board specific config options.
Acked-by: Stephen Warren <redacted>

... although I'm still not 100% how the conflicts are going to be
resolved; Arnd made a suggestion - is that what's happening?
quoted hunk
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
+dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
+	tegra20-paz00.dtb \
+	tegra20-seaboard.dtb \
+	tegra20-trimslice.dtb \
+	tegra20-ventana.dtb \
+	tegra20-whistler.dtb \
+	tegra30-cardhu.dtb
It seems like the following format would keep the lines 100% independent:

dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb
dtb-$(CONFIG_ARCH_TEGRA) += tegra20-paz00.dtb
dtb-$(CONFIG_ARCH_TEGRA) += tegra20-seaboard.dtb

But, what you have in the patch is probably just fine too.

[PATCH 08/12] ARM: picoxcell: remove dependency on mach/* headers

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:51

From: Rob Herring <redacted>

Signed-off-by: Rob Herring <redacted>
Cc: Jamie Iles <redacted>
---
 arch/arm/mach-picoxcell/common.c                   |    6 ++---
 arch/arm/mach-picoxcell/include/mach/map.h         |   25 --------------------
 .../{include/mach => }/picoxcell_soc.h             |    0
 3 files changed, 3 insertions(+), 28 deletions(-)
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/map.h
 rename arch/arm/mach-picoxcell/{include/mach => }/picoxcell_soc.h (100%)
diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c
index 8f9a0b4..a8b70b5 100644
--- a/arch/arm/mach-picoxcell/common.c
+++ b/arch/arm/mach-picoxcell/common.c
@@ -20,11 +20,11 @@
 #include <asm/hardware/vic.h>
 #include <asm/mach/map.h>
 
-#include <mach/map.h>
-#include <mach/picoxcell_soc.h>
-
+#include "picoxcell_soc.h"
 #include "common.h"
 
+#define PHYS_TO_IO(x)		(((x) & 0x00ffffff) | 0xfe000000)
+
 #define WDT_CTRL_REG_EN_MASK	(1 << 0)
 #define WDT_CTRL_REG_OFFS	(0x00)
 #define WDT_TIMEOUT_REG_OFFS	(0x04)
diff --git a/arch/arm/mach-picoxcell/include/mach/map.h b/arch/arm/mach-picoxcell/include/mach/map.h
deleted file mode 100644
index c06afad..0000000
--- a/arch/arm/mach-picoxcell/include/mach/map.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-#ifndef __PICOXCELL_MAP_H__
-#define __PICOXCELL_MAP_H__
-
-#define PHYS_TO_IO(x)		(((x) & 0x00ffffff) | 0xfe000000)
-
-#ifdef __ASSEMBLY__
-#define IO_ADDRESS(x)		PHYS_TO_IO((x))
-#else
-#define IO_ADDRESS(x)		(void __iomem __force *)(PHYS_TO_IO((x)))
-#endif
-
-#endif /* __PICOXCELL_MAP_H__ */
diff --git a/arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h b/arch/arm/mach-picoxcell/picoxcell_soc.h
similarity index 100%
rename from arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h
rename to arch/arm/mach-picoxcell/picoxcell_soc.h
-- 
1.7.9.5

[PATCH 09/12] ARM: vexpress: remove dependency on mach/* headers

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:52

From: Arnd Bergmann <arnd@arndb.de>

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Pawel Moll <redacted>
---
 arch/arm/mach-vexpress/ct-ca9x4.c          |    1 +
 arch/arm/mach-vexpress/include/mach/irqs.h |    2 ++
 2 files changed, 3 insertions(+)
diff --git a/arch/arm/mach-vexpress/ct-ca9x4.c b/arch/arm/mach-vexpress/ct-ca9x4.c
index 61c4924..0e770e8 100644
--- a/arch/arm/mach-vexpress/ct-ca9x4.c
+++ b/arch/arm/mach-vexpress/ct-ca9x4.c
@@ -27,6 +27,7 @@
 #include "core.h"
 
 #include <mach/motherboard.h>
+#include <mach/irqs.h>
 
 #include <plat/clcd.h>
 
diff --git a/arch/arm/mach-vexpress/include/mach/irqs.h b/arch/arm/mach-vexpress/include/mach/irqs.h
index 4b10ee7..f8f7f78 100644
--- a/arch/arm/mach-vexpress/include/mach/irqs.h
+++ b/arch/arm/mach-vexpress/include/mach/irqs.h
@@ -1,4 +1,6 @@
 #define IRQ_LOCALTIMER		29
 #define IRQ_LOCALWDOG		30
 
+#ifndef CONFIG_SPARSE_IRQ
 #define NR_IRQS	256
+#endif
-- 
1.7.9.5

[PATCH 10/12] ARM: mvebu: move armada-370-xp.h in mach dir

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:53

From: Rob Herring <redacted>

Signed-off-by: Rob Herring <redacted>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
---
 arch/arm/mach-mvebu/armada-370-xp.c                |    2 +-
 .../mach-mvebu/{include/mach => }/armada-370-xp.h  |    0
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename arch/arm/mach-mvebu/{include/mach => }/armada-370-xp.h (100%)
diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c
index 4ef923b..b46418a 100644
--- a/arch/arm/mach-mvebu/armada-370-xp.c
+++ b/arch/arm/mach-mvebu/armada-370-xp.c
@@ -20,7 +20,7 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/mach/time.h>
-#include <mach/armada-370-xp.h>
+#include "armada-370-xp.h"
 #include "common.h"
 
 static struct map_desc armada_370_xp_io_desc[] __initdata = {
diff --git a/arch/arm/mach-mvebu/include/mach/armada-370-xp.h b/arch/arm/mach-mvebu/armada-370-xp.h
similarity index 100%
rename from arch/arm/mach-mvebu/include/mach/armada-370-xp.h
rename to arch/arm/mach-mvebu/armada-370-xp.h
-- 
1.7.9.5

[PATCH 10/12] ARM: mvebu: move armada-370-xp.h in mach dir

From: Jason Cooper <hidden>
Date: 2012-09-07 15:11:30

On Thu, Sep 06, 2012 at 03:12:53PM -0500, Rob Herring wrote:
From: Rob Herring <redacted>

Signed-off-by: Rob Herring <redacted>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
also, Cc: Gregory Clement for -mvebu, please.

thx,

Jason.
quoted hunk
---
 arch/arm/mach-mvebu/armada-370-xp.c                |    2 +-
 .../mach-mvebu/{include/mach => }/armada-370-xp.h  |    0
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename arch/arm/mach-mvebu/{include/mach => }/armada-370-xp.h (100%)
diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c
index 4ef923b..b46418a 100644
--- a/arch/arm/mach-mvebu/armada-370-xp.c
+++ b/arch/arm/mach-mvebu/armada-370-xp.c
@@ -20,7 +20,7 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 #include <asm/mach/time.h>
-#include <mach/armada-370-xp.h>
+#include "armada-370-xp.h"
 #include "common.h"
 
 static struct map_desc armada_370_xp_io_desc[] __initdata = {
diff --git a/arch/arm/mach-mvebu/include/mach/armada-370-xp.h b/arch/arm/mach-mvebu/armada-370-xp.h
similarity index 100%
rename from arch/arm/mach-mvebu/include/mach/armada-370-xp.h
rename to arch/arm/mach-mvebu/armada-370-xp.h
-- 
1.7.9.5


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

[PATCH 11/12] ARM: initial multiplatform support

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:54

From: Rob Herring <redacted>

This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:

* SMP support must be turned off because of conflicting symbols.
  Marc Zyngier has proposed a solution by adding a new SOC
  operations structure to hold indirect function pointers
  for these, but that work is currently stalled

* We turn on SPARSE_IRQ unconditionally, which is not supported
  on most platforms. Each of them is currently in a different
  state, but most are being worked on.

* A common clock framework is in place since v3.4 but not yet
  being used. Work on this is on its way.

* DEBUG_LL for early debugging is currently disabled.

* THUMB2_KERNEL does not work with allyesconfig because the
  kernel gets too big

[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
Cc: Jason Cooper <redacted>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Jamie Iles <redacted>
Cc: Dinh Nguyen <redacted>
---
 arch/arm/Kconfig                                  |  123 ++++++++--------
 arch/arm/Kconfig.debug                            |    1 +
 arch/arm/Makefile                                 |  155 +++++++++++----------
 arch/arm/boot/compressed/misc.c                   |    6 +
 arch/arm/include/asm/timex.h                      |    4 +
 arch/arm/mach-highbank/Kconfig                    |   15 ++
 arch/arm/mach-highbank/Makefile.boot              |    1 -
 arch/arm/mach-highbank/include/mach/timex.h       |    6 -
 arch/arm/mach-highbank/include/mach/uncompress.h  |    9 --
 arch/arm/mach-mvebu/Kconfig                       |   10 ++
 arch/arm/mach-mvebu/Makefile                      |    2 +
 arch/arm/mach-mvebu/Makefile.boot                 |    1 -
 arch/arm/mach-mvebu/include/mach/timex.h          |   13 --
 arch/arm/mach-mvebu/include/mach/uncompress.h     |   43 ------
 arch/arm/mach-picoxcell/Kconfig                   |   14 ++
 arch/arm/mach-picoxcell/Makefile.boot             |    1 -
 arch/arm/mach-picoxcell/include/mach/hardware.h   |   21 ---
 arch/arm/mach-picoxcell/include/mach/timex.h      |   25 ----
 arch/arm/mach-picoxcell/include/mach/uncompress.h |   21 ---
 arch/arm/mach-socfpga/Kconfig                     |   16 +++
 arch/arm/mach-socfpga/Makefile.boot               |    1 -
 arch/arm/mach-socfpga/include/mach/timex.h        |   19 ---
 arch/arm/mach-socfpga/include/mach/uncompress.h   |    9 --
 23 files changed, 205 insertions(+), 311 deletions(-)
 create mode 100644 arch/arm/mach-highbank/Kconfig
 delete mode 100644 arch/arm/mach-highbank/Makefile.boot
 delete mode 100644 arch/arm/mach-highbank/include/mach/timex.h
 delete mode 100644 arch/arm/mach-highbank/include/mach/uncompress.h
 delete mode 100644 arch/arm/mach-mvebu/Makefile.boot
 delete mode 100644 arch/arm/mach-mvebu/include/mach/timex.h
 delete mode 100644 arch/arm/mach-mvebu/include/mach/uncompress.h
 create mode 100644 arch/arm/mach-picoxcell/Kconfig
 delete mode 100644 arch/arm/mach-picoxcell/Makefile.boot
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/hardware.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/timex.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/uncompress.h
 create mode 100644 arch/arm/mach-socfpga/Kconfig
 delete mode 100644 arch/arm/mach-socfpga/Makefile.boot
 delete mode 100644 arch/arm/mach-socfpga/include/mach/timex.h
 delete mode 100644 arch/arm/mach-socfpga/include/mach/uncompress.h
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4f5652d..ebaf088 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -254,26 +254,17 @@ config MMU
 #
 choice
 	prompt "ARM system type"
-	default ARCH_VERSATILE
+	default ARCH_MULTIPLATFORM
 
-config ARCH_SOCFPGA
-	bool "Altera SOCFPGA family"
-	select ARCH_WANT_OPTIONAL_GPIOLIB
-	select ARM_AMBA
-	select ARM_GIC
-	select CACHE_L2X0
-	select CLKDEV_LOOKUP
+config ARCH_MULTIPLATFORM
+	bool "Allow multiple platforms to be selected"
+	select ARM_PATCH_PHYS_VIRT
+	select AUTO_ZRELADDR
 	select COMMON_CLK
-	select CPU_V7
-	select DW_APB_TIMER
-	select DW_APB_TIMER_OF
-	select GENERIC_CLOCKEVENTS
-	select GPIO_PL061 if GPIOLIB
-	select HAVE_ARM_SCU
+	select MULTI_IRQ_HANDLER
 	select SPARSE_IRQ
 	select USE_OF
-	help
-	  This enables support for Altera SOCFPGA Cyclone V platform
+	depends on MMU
 
 config ARCH_INTEGRATOR
 	bool "ARM Ltd. Integrator family"
@@ -370,24 +361,6 @@ config ARCH_BCMRING
 	help
 	  Support for Broadcom's BCMRing platform.
 
-config ARCH_HIGHBANK
-	bool "Calxeda Highbank-based"
-	select ARCH_WANT_OPTIONAL_GPIOLIB
-	select ARM_AMBA
-	select ARM_GIC
-	select ARM_TIMER_SP804
-	select CACHE_L2X0
-	select CLKDEV_LOOKUP
-	select COMMON_CLK
-	select CPU_V7
-	select GENERIC_CLOCKEVENTS
-	select HAVE_ARM_SCU
-	select HAVE_SMP
-	select SPARSE_IRQ
-	select USE_OF
-	help
-	  Support for the Calxeda Highbank SoC based boards.
-
 config ARCH_CLPS711X
 	bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
 	select CPU_ARM720T
@@ -568,18 +541,6 @@ config ARCH_IXP4XX
 	help
 	  Support for Intel's IXP4XX (XScale) family of processors.
 
-config ARCH_MVEBU
-	bool "Marvell SOCs with Device Tree support"
-	select GENERIC_CLOCKEVENTS
-	select MULTI_IRQ_HANDLER
-	select SPARSE_IRQ
-	select CLKSRC_MMIO
-	select GENERIC_IRQ_CHIP
-	select IRQ_DOMAIN
-	select COMMON_CLK
-	help
-	  Support for the Marvell SoC Family with device tree support
-
 config ARCH_DOVE
 	bool "Marvell Dove"
 	select CPU_V7
@@ -701,25 +662,6 @@ config ARCH_TEGRA
 	  This enables support for NVIDIA Tegra based systems (Tegra APX,
 	  Tegra 6xx and Tegra 2 series).
 
-config ARCH_PICOXCELL
-	bool "Picochip picoXcell"
-	select ARCH_REQUIRE_GPIOLIB
-	select ARM_PATCH_PHYS_VIRT
-	select ARM_VIC
-	select CPU_V6K
-	select DW_APB_TIMER
-	select DW_APB_TIMER_OF
-	select GENERIC_CLOCKEVENTS
-	select GENERIC_GPIO
-	select HAVE_TCM
-	select NO_IOPORT
-	select SPARSE_IRQ
-	select USE_OF
-	help
-	  This enables support for systems based on the Picochip picoXcell
-	  family of Femtocell devices.  The picoxcell support requires device tree
-	  for all boards.
-
 config ARCH_PNX4008
 	bool "Philips Nexperia PNX4008 Mobile"
 	select CPU_ARM926T
@@ -1043,6 +985,49 @@ config ARCH_ZYNQ
 	  Support for Xilinx Zynq ARM Cortex A9 Platform
 endchoice
 
+menu "Multiple platform selection"
+	depends on ARCH_MULTIPLATFORM
+
+comment "CPU Core family selection"
+
+config ARCH_MULTI_V4
+	bool "ARMv4 based platforms (FA526, StrongARM)"
+	select ARCH_MULTI_V4_V5
+	depends on !ARCH_MULTI_V6_V7
+
+config ARCH_MULTI_V4T
+	bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
+	select ARCH_MULTI_V4_V5
+	depends on !ARCH_MULTI_V6_V7
+
+config ARCH_MULTI_V5
+	bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
+	select ARCH_MULTI_V4_V5
+	depends on !ARCH_MULTI_V6_V7
+
+config ARCH_MULTI_V4_V5
+	bool
+
+config ARCH_MULTI_V6
+	bool "ARMv6 based platforms (ARM11, Scorpion, ...)"
+	select CPU_V6
+	select ARCH_MULTI_V6_V7
+
+config ARCH_MULTI_V7
+	bool "ARMv7 based platforms (Cortex-A, PJ4, Krait)"
+	select CPU_V7
+	default y
+	select ARCH_MULTI_V6_V7
+
+config ARCH_MULTI_V6_V7
+	bool
+
+config ARCH_MULTI_CPU_AUTO
+	def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
+	select ARCH_MULTI_V5
+
+endmenu
+
 #
 # This is sorted alphabetically by mach-* pathname.  However, plat-*
 # Kconfigs may be included either alphabetically (according to the
@@ -1070,6 +1055,8 @@ source "arch/arm/mach-gemini/Kconfig"
 
 source "arch/arm/mach-h720x/Kconfig"
 
+source "arch/arm/mach-highbank/Kconfig"
+
 source "arch/arm/mach-integrator/Kconfig"
 
 source "arch/arm/mach-iop32x/Kconfig"
@@ -1105,6 +1092,8 @@ source "arch/arm/mach-omap2/Kconfig"
 
 source "arch/arm/mach-orion5x/Kconfig"
 
+source "arch/arm/mach-picoxcell/Kconfig"
+
 source "arch/arm/mach-pxa/Kconfig"
 source "arch/arm/plat-pxa/Kconfig"
 
@@ -1117,6 +1106,8 @@ source "arch/arm/mach-sa1100/Kconfig"
 source "arch/arm/plat-samsung/Kconfig"
 source "arch/arm/plat-s3c24xx/Kconfig"
 
+source "arch/arm/mach-socfpga/Kconfig"
+
 source "arch/arm/plat-spear/Kconfig"
 
 source "arch/arm/mach-s3c24xx/Kconfig"
@@ -2081,7 +2072,7 @@ endchoice
 
 config XIP_KERNEL
 	bool "Kernel Execute-In-Place from ROM"
-	depends on !ZBOOT_ROM && !ARM_LPAE
+	depends on !ZBOOT_ROM && !ARM_LPAE && !ARCH_MULTIPLATFORM
 	help
 	  Execute-In-Place allows the kernel to run from non-volatile storage
 	  directly addressable by the CPU, such as NOR flash. This saves RAM
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index b74ed97..3e57e9a 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -359,6 +359,7 @@ choice
 
 	config DEBUG_LL_UART_NONE
 		bool "No low-level debugging UART"
+		depends on !ARCH_MULTIPLATFORM
 		help
 		  Say Y here if your platform doesn't provide a UART option
 		  below. This relies on your platform choosing the right UART
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 30eae87..fe6e05e 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -135,84 +135,84 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
 
 # Machine directory name.  This list is sorted alphanumerically
 # by CONFIG_* macro name.
-machine-$(CONFIG_ARCH_AT91)		:= at91
-machine-$(CONFIG_ARCH_BCMRING)		:= bcmring
-machine-$(CONFIG_ARCH_CLPS711X)		:= clps711x
-machine-$(CONFIG_ARCH_CNS3XXX)		:= cns3xxx
-machine-$(CONFIG_ARCH_DAVINCI)		:= davinci
-machine-$(CONFIG_ARCH_DOVE)		:= dove
-machine-$(CONFIG_ARCH_EBSA110)		:= ebsa110
-machine-$(CONFIG_ARCH_EP93XX)		:= ep93xx
-machine-$(CONFIG_ARCH_GEMINI)		:= gemini
-machine-$(CONFIG_ARCH_H720X)		:= h720x
-machine-$(CONFIG_ARCH_HIGHBANK)		:= highbank
-machine-$(CONFIG_ARCH_INTEGRATOR)	:= integrator
-machine-$(CONFIG_ARCH_IOP13XX)		:= iop13xx
-machine-$(CONFIG_ARCH_IOP32X)		:= iop32x
-machine-$(CONFIG_ARCH_IOP33X)		:= iop33x
-machine-$(CONFIG_ARCH_IXP4XX)		:= ixp4xx
-machine-$(CONFIG_ARCH_KIRKWOOD)		:= kirkwood
-machine-$(CONFIG_ARCH_KS8695)		:= ks8695
-machine-$(CONFIG_ARCH_LPC32XX)		:= lpc32xx
-machine-$(CONFIG_ARCH_MMP)		:= mmp
-machine-$(CONFIG_ARCH_MSM)		:= msm
-machine-$(CONFIG_ARCH_MV78XX0)		:= mv78xx0
-machine-$(CONFIG_ARCH_IMX_V4_V5)	:= imx
-machine-$(CONFIG_ARCH_IMX_V6_V7)	:= imx
-machine-$(CONFIG_ARCH_MXS)		:= mxs
-machine-$(CONFIG_ARCH_MVEBU)		:= mvebu
-machine-$(CONFIG_ARCH_NETX)		:= netx
-machine-$(CONFIG_ARCH_NOMADIK)		:= nomadik
-machine-$(CONFIG_ARCH_OMAP1)		:= omap1
-machine-$(CONFIG_ARCH_OMAP2PLUS)	:= omap2
-machine-$(CONFIG_ARCH_ORION5X)		:= orion5x
-machine-$(CONFIG_ARCH_PICOXCELL)	:= picoxcell
-machine-$(CONFIG_ARCH_PNX4008)		:= pnx4008
-machine-$(CONFIG_ARCH_PRIMA2)		:= prima2
-machine-$(CONFIG_ARCH_PXA)		:= pxa
-machine-$(CONFIG_ARCH_REALVIEW)		:= realview
-machine-$(CONFIG_ARCH_RPC)		:= rpc
-machine-$(CONFIG_ARCH_S3C24XX)		:= s3c24xx s3c2412 s3c2440
-machine-$(CONFIG_ARCH_S3C64XX)		:= s3c64xx
-machine-$(CONFIG_ARCH_S5P64X0)		:= s5p64x0
-machine-$(CONFIG_ARCH_S5PC100)		:= s5pc100
-machine-$(CONFIG_ARCH_S5PV210)		:= s5pv210
-machine-$(CONFIG_ARCH_EXYNOS4)		:= exynos
-machine-$(CONFIG_ARCH_EXYNOS5)		:= exynos
-machine-$(CONFIG_ARCH_SA1100)		:= sa1100
-machine-$(CONFIG_ARCH_SHARK)		:= shark
-machine-$(CONFIG_ARCH_SHMOBILE) 	:= shmobile
-machine-$(CONFIG_ARCH_TEGRA)		:= tegra
-machine-$(CONFIG_ARCH_U300)		:= u300
-machine-$(CONFIG_ARCH_U8500)		:= ux500
-machine-$(CONFIG_ARCH_VERSATILE)	:= versatile
-machine-$(CONFIG_ARCH_VEXPRESS)		:= vexpress
-machine-$(CONFIG_ARCH_VT8500)		:= vt8500
-machine-$(CONFIG_ARCH_W90X900)		:= w90x900
-machine-$(CONFIG_FOOTBRIDGE)		:= footbridge
-machine-$(CONFIG_ARCH_SOCFPGA)		:= socfpga
-machine-$(CONFIG_MACH_SPEAR1310)	:= spear13xx
-machine-$(CONFIG_MACH_SPEAR1340)	:= spear13xx
-machine-$(CONFIG_MACH_SPEAR300)		:= spear3xx
-machine-$(CONFIG_MACH_SPEAR310)		:= spear3xx
-machine-$(CONFIG_MACH_SPEAR320)		:= spear3xx
-machine-$(CONFIG_MACH_SPEAR600)		:= spear6xx
-machine-$(CONFIG_ARCH_ZYNQ)		:= zynq
+machine-$(CONFIG_ARCH_AT91)		+= at91
+machine-$(CONFIG_ARCH_BCMRING)		+= bcmring
+machine-$(CONFIG_ARCH_CLPS711X)		+= clps711x
+machine-$(CONFIG_ARCH_CNS3XXX)		+= cns3xxx
+machine-$(CONFIG_ARCH_DAVINCI)		+= davinci
+machine-$(CONFIG_ARCH_DOVE)		+= dove
+machine-$(CONFIG_ARCH_EBSA110)		+= ebsa110
+machine-$(CONFIG_ARCH_EP93XX)		+= ep93xx
+machine-$(CONFIG_ARCH_GEMINI)		+= gemini
+machine-$(CONFIG_ARCH_H720X)		+= h720x
+machine-$(CONFIG_ARCH_HIGHBANK)		+= highbank
+machine-$(CONFIG_ARCH_INTEGRATOR)	+= integrator
+machine-$(CONFIG_ARCH_IOP13XX)		+= iop13xx
+machine-$(CONFIG_ARCH_IOP32X)		+= iop32x
+machine-$(CONFIG_ARCH_IOP33X)		+= iop33x
+machine-$(CONFIG_ARCH_IXP4XX)		+= ixp4xx
+machine-$(CONFIG_ARCH_KIRKWOOD)		+= kirkwood
+machine-$(CONFIG_ARCH_KS8695)		+= ks8695
+machine-$(CONFIG_ARCH_LPC32XX)		+= lpc32xx
+machine-$(CONFIG_ARCH_MMP)		+= mmp
+machine-$(CONFIG_ARCH_MSM)		+= msm
+machine-$(CONFIG_ARCH_MV78XX0)		+= mv78xx0
+machine-$(CONFIG_ARCH_IMX_V4_V5)	+= imx
+machine-$(CONFIG_ARCH_IMX_V6_V7)	+= imx
+machine-$(CONFIG_ARCH_MXS)		+= mxs
+machine-$(CONFIG_ARCH_MVEBU)		+= mvebu
+machine-$(CONFIG_ARCH_NETX)		+= netx
+machine-$(CONFIG_ARCH_NOMADIK)		+= nomadik
+machine-$(CONFIG_ARCH_OMAP1)		+= omap1
+machine-$(CONFIG_ARCH_OMAP2PLUS)	+= omap2
+machine-$(CONFIG_ARCH_ORION5X)		+= orion5x
+machine-$(CONFIG_ARCH_PICOXCELL)	+= picoxcell
+machine-$(CONFIG_ARCH_PNX4008)		+= pnx4008
+machine-$(CONFIG_ARCH_PRIMA2)		+= prima2
+machine-$(CONFIG_ARCH_PXA)		+= pxa
+machine-$(CONFIG_ARCH_REALVIEW)		+= realview
+machine-$(CONFIG_ARCH_RPC)		+= rpc
+machine-$(CONFIG_ARCH_S3C24XX)		+= s3c24xx s3c2412 s3c2440
+machine-$(CONFIG_ARCH_S3C64XX)		+= s3c64xx
+machine-$(CONFIG_ARCH_S5P64X0)		+= s5p64x0
+machine-$(CONFIG_ARCH_S5PC100)		+= s5pc100
+machine-$(CONFIG_ARCH_S5PV210)		+= s5pv210
+machine-$(CONFIG_ARCH_EXYNOS4)		+= exynos
+machine-$(CONFIG_ARCH_EXYNOS5)		+= exynos
+machine-$(CONFIG_ARCH_SA1100)		+= sa1100
+machine-$(CONFIG_ARCH_SHARK)		+= shark
+machine-$(CONFIG_ARCH_SHMOBILE) 	+= shmobile
+machine-$(CONFIG_ARCH_TEGRA)		+= tegra
+machine-$(CONFIG_ARCH_U300)		+= u300
+machine-$(CONFIG_ARCH_U8500)		+= ux500
+machine-$(CONFIG_ARCH_VERSATILE)	+= versatile
+machine-$(CONFIG_ARCH_VEXPRESS)		+= vexpress
+machine-$(CONFIG_ARCH_VT8500)		+= vt8500
+machine-$(CONFIG_ARCH_W90X900)		+= w90x900
+machine-$(CONFIG_FOOTBRIDGE)		+= footbridge
+machine-$(CONFIG_ARCH_SOCFPGA)		+= socfpga
+machine-$(CONFIG_MACH_SPEAR1310)	+= spear13xx
+machine-$(CONFIG_MACH_SPEAR1340)	+= spear13xx
+machine-$(CONFIG_MACH_SPEAR300)		+= spear3xx
+machine-$(CONFIG_MACH_SPEAR310)		+= spear3xx
+machine-$(CONFIG_MACH_SPEAR320)		+= spear3xx
+machine-$(CONFIG_MACH_SPEAR600)		+= spear6xx
+machine-$(CONFIG_ARCH_ZYNQ)		+= zynq
 
 # Platform directory name.  This list is sorted alphanumerically
 # by CONFIG_* macro name.
-plat-$(CONFIG_ARCH_MXC)		:= mxc
-plat-$(CONFIG_ARCH_OMAP)	:= omap
-plat-$(CONFIG_ARCH_S3C64XX)	:= samsung
-plat-$(CONFIG_ARCH_ZYNQ)	:= versatile
-plat-$(CONFIG_PLAT_IOP)		:= iop
-plat-$(CONFIG_PLAT_NOMADIK)	:= nomadik
-plat-$(CONFIG_PLAT_ORION)	:= orion
-plat-$(CONFIG_PLAT_PXA)		:= pxa
-plat-$(CONFIG_PLAT_S3C24XX)	:= s3c24xx samsung
-plat-$(CONFIG_PLAT_S5P)		:= samsung
-plat-$(CONFIG_PLAT_SPEAR)	:= spear
-plat-$(CONFIG_PLAT_VERSATILE)	:= versatile
+plat-$(CONFIG_ARCH_MXC)		+= mxc
+plat-$(CONFIG_ARCH_OMAP)	+= omap
+plat-$(CONFIG_ARCH_S3C64XX)	+= samsung
+plat-$(CONFIG_ARCH_ZYNQ)	+= versatile
+plat-$(CONFIG_PLAT_IOP)		+= iop
+plat-$(CONFIG_PLAT_NOMADIK)	+= nomadik
+plat-$(CONFIG_PLAT_ORION)	+= orion
+plat-$(CONFIG_PLAT_PXA)		+= pxa
+plat-$(CONFIG_PLAT_S3C24XX)	+= s3c24xx samsung
+plat-$(CONFIG_PLAT_S5P)		+= samsung
+plat-$(CONFIG_PLAT_SPEAR)	+= spear
+plat-$(CONFIG_PLAT_VERSATILE)	+= versatile
 
 ifeq ($(CONFIG_ARCH_EBSA110),y)
 # This is what happens if you forget the IOCS16 line.
@@ -230,15 +230,20 @@ MACHINE  := arch/arm/mach-$(word 1,$(machine-y))/
 else
 MACHINE  :=
 endif
+ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y)
+MACHINE  :=
+endif
 
 machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
 platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y))
 
+ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y)
 ifeq ($(KBUILD_SRC),)
 KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs))
 else
 KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs))
 endif
+endif
 
 export	TEXT_OFFSET GZFLAGS MMUEXT
 
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c
index 8e2a8fc..df89983 100644
--- a/arch/arm/boot/compressed/misc.c
+++ b/arch/arm/boot/compressed/misc.c
@@ -25,7 +25,13 @@ unsigned int __machine_arch_type;
 static void putstr(const char *ptr);
 extern void error(char *x);
 
+#ifdef CONFIG_ARCH_MULTIPLATFORM
+static inline void putc(int c) {}
+static inline void flush(void) {}
+static inline void arch_decomp_setup(void) {}
+#else
 #include <mach/uncompress.h>
+#endif
 
 #ifdef CONFIG_DEBUG_ICEDCC
 
diff --git a/arch/arm/include/asm/timex.h b/arch/arm/include/asm/timex.h
index ce11944..963342a 100644
--- a/arch/arm/include/asm/timex.h
+++ b/arch/arm/include/asm/timex.h
@@ -13,7 +13,11 @@
 #define _ASMARM_TIMEX_H
 
 #include <asm/arch_timer.h>
+#ifdef CONFIG_ARCH_MULTIPLATFORM
+#define CLOCK_TICK_RATE 1000000
+#else
 #include <mach/timex.h>
+#endif
 
 typedef unsigned long cycles_t;
 
diff --git a/arch/arm/mach-highbank/Kconfig b/arch/arm/mach-highbank/Kconfig
new file mode 100644
index 0000000..0e1d0a4
--- /dev/null
+++ b/arch/arm/mach-highbank/Kconfig
@@ -0,0 +1,15 @@
+config ARCH_HIGHBANK
+	bool "Calxeda ECX-1000 (Highbank)" if ARCH_MULTI_V7
+	select ARCH_WANT_OPTIONAL_GPIOLIB
+	select ARM_AMBA
+	select ARM_GIC
+	select ARM_TIMER_SP804
+	select CACHE_L2X0
+	select CLKDEV_LOOKUP
+	select COMMON_CLK
+	select CPU_V7
+	select GENERIC_CLOCKEVENTS
+	select HAVE_ARM_SCU
+	select HAVE_SMP
+	select SPARSE_IRQ
+	select USE_OF
diff --git a/arch/arm/mach-highbank/Makefile.boot b/arch/arm/mach-highbank/Makefile.boot
deleted file mode 100644
index dae9661..0000000
--- a/arch/arm/mach-highbank/Makefile.boot
+++ /dev/null
@@ -1 +0,0 @@
-zreladdr-y	:= 0x00008000
diff --git a/arch/arm/mach-highbank/include/mach/timex.h b/arch/arm/mach-highbank/include/mach/timex.h
deleted file mode 100644
index 88dac7a..0000000
--- a/arch/arm/mach-highbank/include/mach/timex.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __MACH_TIMEX_H
-#define __MACH_TIMEX_H
-
-#define CLOCK_TICK_RATE		1000000
-
-#endif
diff --git a/arch/arm/mach-highbank/include/mach/uncompress.h b/arch/arm/mach-highbank/include/mach/uncompress.h
deleted file mode 100644
index bbe20e6..0000000
--- a/arch/arm/mach-highbank/include/mach/uncompress.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __MACH_UNCOMPRESS_H
-#define __MACH_UNCOMPRESS_H
-
-#define putc(c)
-#define flush()
-#define arch_decomp_setup()
-#define arch_decomp_wdog()
-
-#endif
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index caa2c5e..7b27035 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -1,3 +1,13 @@
+config ARCH_MVEBU
+	bool "Marvell SOCs with Device Tree support" if ARCH_MULTI_V7
+	select CLKSRC_MMIO
+	select COMMON_CLK
+	select GENERIC_CLOCKEVENTS
+	select GENERIC_IRQ_CHIP
+	select IRQ_DOMAIN
+	select MULTI_IRQ_HANDLER
+	select SPARSE_IRQ
+
 if ARCH_MVEBU
 
 menu "Marvell SOC with device tree"
diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile
index e61d2b8..6ea8998 100644
--- a/arch/arm/mach-mvebu/Makefile
+++ b/arch/arm/mach-mvebu/Makefile
@@ -1,2 +1,4 @@
+ccflags-$(ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include
+
 obj-y += system-controller.o
 obj-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-xp.o irq-armada-370-xp.o
diff --git a/arch/arm/mach-mvebu/Makefile.boot b/arch/arm/mach-mvebu/Makefile.boot
deleted file mode 100644
index b327175..0000000
--- a/arch/arm/mach-mvebu/Makefile.boot
+++ /dev/null
@@ -1 +0,0 @@
-zreladdr-y := 0x00008000
diff --git a/arch/arm/mach-mvebu/include/mach/timex.h b/arch/arm/mach-mvebu/include/mach/timex.h
deleted file mode 100644
index ab324a3..0000000
--- a/arch/arm/mach-mvebu/include/mach/timex.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Marvell Armada SoC time definitions
- *
- * Copyright (C) 2012 Marvell
- *
- * Lior Amsalem <alior@marvell.com>
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2.  This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#define CLOCK_TICK_RATE		(100 * HZ)
diff --git a/arch/arm/mach-mvebu/include/mach/uncompress.h b/arch/arm/mach-mvebu/include/mach/uncompress.h
deleted file mode 100644
index d6a100c..0000000
--- a/arch/arm/mach-mvebu/include/mach/uncompress.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Marvell Armada SoC kernel uncompression UART routines
- *
- * Copyright (C) 2012 Marvell
- *
- * Lior Amsalem <alior@marvell.com>
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2.  This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#include <mach/armada-370-xp.h>
-
-#define UART_THR ((volatile unsigned char *)(ARMADA_370_XP_REGS_PHYS_BASE\
-								+ 0x12000))
-#define UART_LSR ((volatile unsigned char *)(ARMADA_370_XP_REGS_PHYS_BASE\
-								+ 0x12014))
-
-#define LSR_THRE	0x20
-
-static void putc(const char c)
-{
-	int i;
-
-	for (i = 0; i < 0x1000; i++) {
-		/* Transmit fifo not full? */
-		if (*UART_LSR & LSR_THRE)
-			break;
-	}
-
-	*UART_THR = c;
-}
-
-static void flush(void)
-{
-}
-
-/*
- * nothing to do
- */
-#define arch_decomp_setup()
-#define arch_decomp_wdog()
diff --git a/arch/arm/mach-picoxcell/Kconfig b/arch/arm/mach-picoxcell/Kconfig
new file mode 100644
index 0000000..868796f
--- /dev/null
+++ b/arch/arm/mach-picoxcell/Kconfig
@@ -0,0 +1,14 @@
+config ARCH_PICOXCELL
+	bool "Picochip PicoXcell" if ARCH_MULTI_V6
+	select ARCH_REQUIRE_GPIOLIB
+	select ARM_PATCH_PHYS_VIRT
+	select ARM_VIC
+	select CPU_V6K
+	select DW_APB_TIMER
+	select DW_APB_TIMER_OF
+	select GENERIC_CLOCKEVENTS
+	select GENERIC_GPIO
+	select HAVE_TCM
+	select NO_IOPORT
+	select SPARSE_IRQ
+	select USE_OF
diff --git a/arch/arm/mach-picoxcell/Makefile.boot b/arch/arm/mach-picoxcell/Makefile.boot
deleted file mode 100644
index b327175..0000000
--- a/arch/arm/mach-picoxcell/Makefile.boot
+++ /dev/null
@@ -1 +0,0 @@
-zreladdr-y := 0x00008000
diff --git a/arch/arm/mach-picoxcell/include/mach/hardware.h b/arch/arm/mach-picoxcell/include/mach/hardware.h
deleted file mode 100644
index 70ff581..0000000
--- a/arch/arm/mach-picoxcell/include/mach/hardware.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * This file contains the hardware definitions of the picoXcell SoC devices.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-#ifndef __ASM_ARCH_HARDWARE_H
-#define __ASM_ARCH_HARDWARE_H
-
-#include <mach/picoxcell_soc.h>
-
-#endif
diff --git a/arch/arm/mach-picoxcell/include/mach/timex.h b/arch/arm/mach-picoxcell/include/mach/timex.h
deleted file mode 100644
index 6c540a6..0000000
--- a/arch/arm/mach-picoxcell/include/mach/timex.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-#ifndef __TIMEX_H__
-#define __TIMEX_H__
-
-/* Bogus value to allow the kernel to compile. */
-#define CLOCK_TICK_RATE		1000000
-
-#endif /* __TIMEX_H__ */
-
diff --git a/arch/arm/mach-picoxcell/include/mach/uncompress.h b/arch/arm/mach-picoxcell/include/mach/uncompress.h
deleted file mode 100644
index b60b19d..0000000
--- a/arch/arm/mach-picoxcell/include/mach/uncompress.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-#define putc(c)
-#define flush()
-#define arch_decomp_setup()
-#define arch_decomp_wdog()
diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig
new file mode 100644
index 0000000..803a328
--- /dev/null
+++ b/arch/arm/mach-socfpga/Kconfig
@@ -0,0 +1,16 @@
+config ARCH_SOCFPGA
+	bool "Altera SOCFPGA family" if ARCH_MULTI_V7
+	select ARCH_WANT_OPTIONAL_GPIOLIB
+	select ARM_AMBA
+	select ARM_GIC
+	select CACHE_L2X0
+	select CLKDEV_LOOKUP
+	select COMMON_CLK
+	select CPU_V7
+	select DW_APB_TIMER
+	select DW_APB_TIMER_OF
+	select GENERIC_CLOCKEVENTS
+	select GPIO_PL061 if GPIOLIB
+	select HAVE_ARM_SCU
+	select SPARSE_IRQ
+	select USE_OF
diff --git a/arch/arm/mach-socfpga/Makefile.boot b/arch/arm/mach-socfpga/Makefile.boot
deleted file mode 100644
index dae9661..0000000
--- a/arch/arm/mach-socfpga/Makefile.boot
+++ /dev/null
@@ -1 +0,0 @@
-zreladdr-y	:= 0x00008000
diff --git a/arch/arm/mach-socfpga/include/mach/timex.h b/arch/arm/mach-socfpga/include/mach/timex.h
deleted file mode 100644
index 43df435..0000000
--- a/arch/arm/mach-socfpga/include/mach/timex.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- *  Copyright (C) 2003 ARM Limited
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#define CLOCK_TICK_RATE		(50000000 / 16)
diff --git a/arch/arm/mach-socfpga/include/mach/uncompress.h b/arch/arm/mach-socfpga/include/mach/uncompress.h
deleted file mode 100644
index bbe20e6..0000000
--- a/arch/arm/mach-socfpga/include/mach/uncompress.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __MACH_UNCOMPRESS_H
-#define __MACH_UNCOMPRESS_H
-
-#define putc(c)
-#define flush()
-#define arch_decomp_setup()
-#define arch_decomp_wdog()
-
-#endif
-- 
1.7.9.5

[PATCH 11/12] ARM: initial multiplatform support

From: arnd@arndb.de (Arnd Bergmann)
Date: 2012-09-12 19:49:48

On Thursday 06 September 2012, Rob Herring wrote:
+machine-$(CONFIG_ARCH_EXYNOS4)         += exynos
+machine-$(CONFIG_ARCH_EXYNOS5)         += exynos
+machine-$(CONFIG_MACH_SPEAR1310)       += spear13xx
+machine-$(CONFIG_MACH_SPEAR1340)       += spear13xx
+machine-$(CONFIG_MACH_SPEAR300)                += spear3xx
+machine-$(CONFIG_MACH_SPEAR310)                += spear3xx
+machine-$(CONFIG_MACH_SPEAR320)                += spear3xx
+machine-$(CONFIG_MACH_SPEAR600)                += spear6xx
I did a little bit of testing and got this message:

/home/arnd/linux-arm/Makefile:774: target `arch/arm/mach-spear13xx' given more than once in the same rule.
arch/arm/mach-spear13xx/built-in.o:(.init.data+0x0): multiple definition of `spear13xx_smp_ops'
arch/arm/mach-spear13xx/built-in.o:(.init.data+0x0): first defined here

The patch below ensures that each machine is only listed once.
Please fold this into your patch.

	Arnd
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 32a6485..ff5fb29 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -233,7 +233,7 @@ ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y)
 MACHINE  :=
 endif
 
-machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
+machdirs := $(sort $(patsubst %,arch/arm/mach-%/,$(machine-y)))
 platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y))
 
 ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y)

[PATCH 11/12] ARM: initial multiplatform support

From: Rob Herring <hidden>
Date: 2012-09-12 20:20:49

On 09/12/2012 02:49 PM, Arnd Bergmann wrote:
quoted hunk
On Thursday 06 September 2012, Rob Herring wrote:
quoted
+machine-$(CONFIG_ARCH_EXYNOS4)         += exynos
+machine-$(CONFIG_ARCH_EXYNOS5)         += exynos
quoted
+machine-$(CONFIG_MACH_SPEAR1310)       += spear13xx
+machine-$(CONFIG_MACH_SPEAR1340)       += spear13xx
quoted
+machine-$(CONFIG_MACH_SPEAR300)                += spear3xx
+machine-$(CONFIG_MACH_SPEAR310)                += spear3xx
quoted
+machine-$(CONFIG_MACH_SPEAR320)                += spear3xx
+machine-$(CONFIG_MACH_SPEAR600)                += spear6xx
I did a little bit of testing and got this message:

/home/arnd/linux-arm/Makefile:774: target `arch/arm/mach-spear13xx' given more than once in the same rule.
arch/arm/mach-spear13xx/built-in.o:(.init.data+0x0): multiple definition of `spear13xx_smp_ops'
arch/arm/mach-spear13xx/built-in.o:(.init.data+0x0): first defined here

The patch below ensures that each machine is only listed once.
Please fold this into your patch.

	Arnd
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 32a6485..ff5fb29 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -233,7 +233,7 @@ ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y)
 MACHINE  :=
 endif
 
-machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
+machdirs := $(sort $(patsubst %,arch/arm/mach-%/,$(machine-y)))
 platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y))
 
 ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y)
Found this one as well. My fix is to use CONFIG_ARCH_EXYNOS,
CONFIG_ARCH_SPEAR3XX, etc. instead and remove the multiple lines.

I want to get this into -next and plan to send you a pull request soon.
Are you happy with the kconfig parts?

Rob

[PATCH 11/12] ARM: initial multiplatform support

From: arnd@arndb.de (Arnd Bergmann)
Date: 2012-09-12 20:27:48

On Wednesday 12 September 2012, Rob Herring wrote:
Found this one as well. My fix is to use CONFIG_ARCH_EXYNOS,
CONFIG_ARCH_SPEAR3XX, etc. instead and remove the multiple lines.

I want to get this into -next and plan to send you a pull request soon.
Are you happy with the kconfig parts?
Yes, it all looks good to me. Just doing test builds with your branch
combined with my platform data branch and Marc's smp operations.

I found a few small bugs in my patches as well.

	Arnd

[PATCH 11/12] ARM: initial multiplatform support

From: Shawn Guo <hidden>
Date: 2012-09-13 14:12:12

On Thu, Sep 06, 2012 at 03:12:54PM -0500, Rob Herring wrote:
---
 arch/arm/Kconfig                                  |  123 ++++++++--------
 arch/arm/Kconfig.debug                            |    1 +
 arch/arm/Makefile                                 |  155 +++++++++++----------
 arch/arm/boot/compressed/misc.c                   |    6 +
 arch/arm/include/asm/timex.h                      |    4 +
 arch/arm/mach-highbank/Kconfig                    |   15 ++
 arch/arm/mach-highbank/Makefile.boot              |    1 -
 arch/arm/mach-highbank/include/mach/timex.h       |    6 -
 arch/arm/mach-highbank/include/mach/uncompress.h  |    9 --
 arch/arm/mach-mvebu/Kconfig                       |   10 ++
 arch/arm/mach-mvebu/Makefile                      |    2 +
 arch/arm/mach-mvebu/Makefile.boot                 |    1 -
 arch/arm/mach-mvebu/include/mach/timex.h          |   13 --
 arch/arm/mach-mvebu/include/mach/uncompress.h     |   43 ------
 arch/arm/mach-picoxcell/Kconfig                   |   14 ++
 arch/arm/mach-picoxcell/Makefile.boot             |    1 -
 arch/arm/mach-picoxcell/include/mach/hardware.h   |   21 ---
 arch/arm/mach-picoxcell/include/mach/timex.h      |   25 ----
 arch/arm/mach-picoxcell/include/mach/uncompress.h |   21 ---
 arch/arm/mach-socfpga/Kconfig                     |   16 +++
 arch/arm/mach-socfpga/Makefile.boot               |    1 -
 arch/arm/mach-socfpga/include/mach/timex.h        |   19 ---
 arch/arm/mach-socfpga/include/mach/uncompress.h   |    9 --
 23 files changed, 205 insertions(+), 311 deletions(-)
 create mode 100644 arch/arm/mach-highbank/Kconfig
 delete mode 100644 arch/arm/mach-highbank/Makefile.boot
 delete mode 100644 arch/arm/mach-highbank/include/mach/timex.h
 delete mode 100644 arch/arm/mach-highbank/include/mach/uncompress.h
 delete mode 100644 arch/arm/mach-mvebu/Makefile.boot
 delete mode 100644 arch/arm/mach-mvebu/include/mach/timex.h
 delete mode 100644 arch/arm/mach-mvebu/include/mach/uncompress.h
 create mode 100644 arch/arm/mach-picoxcell/Kconfig
 delete mode 100644 arch/arm/mach-picoxcell/Makefile.boot
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/hardware.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/timex.h
 delete mode 100644 arch/arm/mach-picoxcell/include/mach/uncompress.h
 create mode 100644 arch/arm/mach-socfpga/Kconfig
 delete mode 100644 arch/arm/mach-socfpga/Makefile.boot
 delete mode 100644 arch/arm/mach-socfpga/include/mach/timex.h
 delete mode 100644 arch/arm/mach-socfpga/include/mach/uncompress.h
Hmm, why do I not see the same file removals for mach-vexpress?

-- 
Regards,
Shawn

[PATCH 12/12] ARM: vexpress: convert to multi-platform

From: Rob Herring <hidden>
Date: 2012-09-06 20:12:55

From: Rob Herring <redacted>

Convert vexpress to multi-platform. This always enables vexpress DT and
makes it the default v7 platform.

Signed-off-by: Rob Herring <redacted>
Cc: Pawel Moll <redacted>
---
 arch/arm/Kconfig                     |   19 +---------
 arch/arm/mach-vexpress/Kconfig       |   64 +++++++++++++++++-----------------
 arch/arm/mach-vexpress/Makefile      |    2 ++
 arch/arm/mach-vexpress/Makefile.boot |    5 ---
 arch/arm/mach-vexpress/v2m.c         |    4 ---
 arch/arm/plat-versatile/Makefile     |    2 ++
 6 files changed, 37 insertions(+), 59 deletions(-)
 delete mode 100644 arch/arm/mach-vexpress/Makefile.boot
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index ebaf088..16773aa 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -319,24 +319,6 @@ config ARCH_VERSATILE
 	help
 	  This enables support for ARM Ltd Versatile board.
 
-config ARCH_VEXPRESS
-	bool "ARM Ltd. Versatile Express family"
-	select ARCH_WANT_OPTIONAL_GPIOLIB
-	select ARM_AMBA
-	select ARM_TIMER_SP804
-	select CLKDEV_LOOKUP
-	select COMMON_CLK
-	select GENERIC_CLOCKEVENTS
-	select HAVE_CLK
-	select HAVE_PATA_PLATFORM
-	select ICST
-	select NO_IOPORT
-	select PLAT_VERSATILE
-	select PLAT_VERSATILE_CLCD
-	select REGULATOR_FIXED_VOLTAGE if REGULATOR
-	help
-	  This enables support for the ARM Ltd Versatile Express boards.
-
 config ARCH_AT91
 	bool "Atmel AT91"
 	select ARCH_REQUIRE_GPIOLIB
@@ -1016,6 +998,7 @@ config ARCH_MULTI_V6
 config ARCH_MULTI_V7
 	bool "ARMv7 based platforms (Cortex-A, PJ4, Krait)"
 	select CPU_V7
+	select ARCH_VEXPRESS
 	default y
 	select ARCH_MULTI_V6_V7
 
diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
index fc3730f..c952960 100644
--- a/arch/arm/mach-vexpress/Kconfig
+++ b/arch/arm/mach-vexpress/Kconfig
@@ -1,38 +1,23 @@
-menu "Versatile Express platform type"
-	depends on ARCH_VEXPRESS
-
-config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
-	bool "Enable A5 and A9 only errata work-arounds"
-	default y
-	select ARM_ERRATA_720789
-	select ARM_ERRATA_751472
-	select PL310_ERRATA_753970 if CACHE_PL310
-	help
-	  Provides common dependencies for Versatile Express platforms
-	  based on Cortex-A5 and Cortex-A9 processors. In order to
-	  build a working kernel, you must also enable relevant core
-	  tile support or Flattened Device Tree based support options.
-
-config ARCH_VEXPRESS_CA9X4
-	bool "Versatile Express Cortex-A9x4 tile"
-	select ARM_GIC
-	select CPU_V7
-	select HAVE_SMP
-	select MIGHT_HAVE_CACHE_L2X0
-
-config ARCH_VEXPRESS_DT
-	bool "Device Tree support for Versatile Express platforms"
+config ARCH_VEXPRESS
+	bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7
+	select ARCH_WANT_OPTIONAL_GPIOLIB
+	select ARM_AMBA
 	select ARM_GIC
-	select ARM_PATCH_PHYS_VIRT
-	select AUTO_ZRELADDR
+	select ARM_TIMER_SP804
+	select CLKDEV_LOOKUP
+	select COMMON_CLK
 	select CPU_V7
+	select GENERIC_CLOCKEVENTS
+	select HAVE_CLK
+	select HAVE_PATA_PLATFORM
 	select HAVE_SMP
+	select ICST
 	select MIGHT_HAVE_CACHE_L2X0
-	select USE_OF
+	select NO_IOPORT
+	select PLAT_VERSATILE
+	select PLAT_VERSATILE_CLCD
+	select REGULATOR_FIXED_VOLTAGE if REGULATOR
 	help
-	  New Versatile Express platforms require Flattened Device Tree to
-	  be passed to the kernel.
-
 	  This option enables support for systems using Cortex processor based
 	  ARM core and logic (FPGA) tiles on the Versatile Express motherboard,
 	  for example:
@@ -48,7 +33,22 @@ config ARCH_VEXPRESS_DT
 	  platforms. The traditional (ATAGs) boot method is not usable on
 	  these boards with this option.
 
-	  If your bootloader supports Flattened Device Tree based booting,
-	  say Y here.
+menu "Versatile Express platform type"
+	depends on ARCH_VEXPRESS
+
+config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
+	bool "Enable A5 and A9 only errata work-arounds"
+	default y
+	select ARM_ERRATA_720789
+	select ARM_ERRATA_751472
+	select PL310_ERRATA_753970 if CACHE_PL310
+	help
+	  Provides common dependencies for Versatile Express platforms
+	  based on Cortex-A5 and Cortex-A9 processors. In order to
+	  build a working kernel, you must also enable relevant core
+	  tile support or Flattened Device Tree based support options.
+
+config ARCH_VEXPRESS_CA9X4
+	bool "Versatile Express Cortex-A9x4 tile"
 
 endmenu
diff --git a/arch/arm/mach-vexpress/Makefile b/arch/arm/mach-vexpress/Makefile
index 90551b9..42703e8 100644
--- a/arch/arm/mach-vexpress/Makefile
+++ b/arch/arm/mach-vexpress/Makefile
@@ -1,6 +1,8 @@
 #
 # Makefile for the linux kernel.
 #
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \
+	-I$(srctree)/arch/arm/plat-versatile/include
 
 obj-y					:= v2m.o
 obj-$(CONFIG_ARCH_VEXPRESS_CA9X4)	+= ct-ca9x4.o
diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot
deleted file mode 100644
index c6dd891..0000000
--- a/arch/arm/mach-vexpress/Makefile.boot
+++ /dev/null
@@ -1,5 +0,0 @@
-# Those numbers are used only by the non-DT V2P-CA9 platform
-# The DT-enabled ones require CONFIG_AUTO_ZRELADDR=y
-   zreladdr-y	+= 0x60008000
-params_phys-y	:= 0x60000100
-initrd_phys-y	:= 0x60800000
diff --git a/arch/arm/mach-vexpress/v2m.c b/arch/arm/mach-vexpress/v2m.c
index 37608f2..2ca86c5 100644
--- a/arch/arm/mach-vexpress/v2m.c
+++ b/arch/arm/mach-vexpress/v2m.c
@@ -539,8 +539,6 @@ MACHINE_START(VEXPRESS, "ARM-Versatile Express")
 	.restart	= v2m_restart,
 MACHINE_END
 
-#if defined(CONFIG_ARCH_VEXPRESS_DT)
-
 static struct map_desc v2m_rs1_io_desc __initdata = {
 	.virtual	= V2M_PERIPH,
 	.pfn		= __phys_to_pfn(0x1c000000),
@@ -671,5 +669,3 @@ DT_MACHINE_START(VEXPRESS_DT, "ARM-Versatile Express")
 	.handle_irq	= gic_handle_irq,
 	.restart	= v2m_restart,
 MACHINE_END
-
-#endif
diff --git a/arch/arm/plat-versatile/Makefile b/arch/arm/plat-versatile/Makefile
index 272769a8..74cfd94 100644
--- a/arch/arm/plat-versatile/Makefile
+++ b/arch/arm/plat-versatile/Makefile
@@ -1,3 +1,5 @@
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include
+
 obj-$(CONFIG_PLAT_VERSATILE_CLOCK) += clock.o
 obj-$(CONFIG_PLAT_VERSATILE_CLCD) += clcd.o
 obj-$(CONFIG_PLAT_VERSATILE_FPGA_IRQ) += fpga-irq.o
-- 
1.7.9.5

[PATCH v3 00/12] Initial multi-platform support

From: Jamie Iles <hidden>
Date: 2012-09-10 19:07:11

Hi Rob,

On Thu, Sep 06, 2012 at 03:12:43PM -0500, Rob Herring wrote:
From: Rob Herring <redacted>

This series enables initial ARM multi-platform support for highbank, mvebu,
socfpga, picoxcell, and vexpress. Multi-platform support is dependent on
some DEBUG_LL and dtb build rules restructuring. This series is also
dependent on my gpio clean-up series posted here:

http://lists.infradead.org/pipermail/linux-arm-kernel/2012-September/118138.html

New in this version:
- Moved ARCH_MULTIPLATFORM back into choice so converted platforms'
  defconfigs work before and after conversion.
- Added mvebu, socfpga and picoxcell DEBUG_LL support. DEBUG_LL should
  work for all converted platforms.
- Fixed make dtbs.
- Removed all unused headers (timex.h, uncompress.h) and Makefile.boot
- Add ARCH_MULTIPLATFORM depends for XIP found with randconfig builds
- Split out Vexpress to separate patch as now DT board support is always
  enabled.

This series plus gpio clean-up is available here:
git://sources.calxeda.com/kernel/linux.git multi-plat
This all looks great, thanks for your hard work!  I needed a small fixup 
patch (below), feel free to fold it into your patches or whatever you 
think is best.

Acked-by: Jamie Iles <redacted>

8<---

Subject: [PATCH] ARM: picoxcell: fixup multiplatform breakage.

The debug macros had a dependency on mach headers.  Break that
dependency and restore building.

Signed-off-by: Jamie Iles <redacted>
---
 arch/arm/include/debug/picoxcell.S      |    4 ++--
 arch/arm/mach-picoxcell/common.c        |   11 ++++++-----
 arch/arm/mach-picoxcell/picoxcell_soc.h |   25 -------------------------
 3 files changed, 8 insertions(+), 32 deletions(-)
 delete mode 100644 arch/arm/mach-picoxcell/picoxcell_soc.h
diff --git a/arch/arm/include/debug/picoxcell.S b/arch/arm/include/debug/picoxcell.S
index 58d4ee3..7419deb 100644
--- a/arch/arm/include/debug/picoxcell.S
+++ b/arch/arm/include/debug/picoxcell.S
@@ -9,10 +9,10 @@
  * accesses to the 8250.
  */
 #include <linux/serial_reg.h>
-#include <mach/hardware.h>
-#include <mach/map.h>
 
 #define UART_SHIFT 2
+#define PICOXCELL_UART1_BASE		0x80230000
+#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)
 
 		.macro	addruart, rp, rv, tmp
 		ldr	\rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c
index a8b70b5..f6c0849 100644
--- a/arch/arm/mach-picoxcell/common.c
+++ b/arch/arm/mach-picoxcell/common.c
@@ -20,14 +20,15 @@
 #include <asm/hardware/vic.h>
 #include <asm/mach/map.h>
 
-#include "picoxcell_soc.h"
 #include "common.h"
 
-#define PHYS_TO_IO(x)		(((x) & 0x00ffffff) | 0xfe000000)
+#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)
+#define PICOXCELL_PERIPH_BASE		0x80000000
+#define PICOXCELL_PERIPH_LENGTH		SZ_4M
 
-#define WDT_CTRL_REG_EN_MASK	(1 << 0)
-#define WDT_CTRL_REG_OFFS	(0x00)
-#define WDT_TIMEOUT_REG_OFFS	(0x04)
+#define WDT_CTRL_REG_EN_MASK		(1 << 0)
+#define WDT_CTRL_REG_OFFS		(0x00)
+#define WDT_TIMEOUT_REG_OFFS		(0x04)
 static void __iomem *wdt_regs;
 
 /*
diff --git a/arch/arm/mach-picoxcell/picoxcell_soc.h b/arch/arm/mach-picoxcell/picoxcell_soc.h
deleted file mode 100644
index 5566fc8..0000000
--- a/arch/arm/mach-picoxcell/picoxcell_soc.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * This file contains the hardware definitions of the picoXcell SoC devices.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-#ifndef __PICOXCELL_SOC_H__
-#define __PICOXCELL_SOC_H__
-
-#define PICOXCELL_UART1_BASE		0x80230000
-#define PICOXCELL_PERIPH_BASE		0x80000000
-#define PICOXCELL_PERIPH_LENGTH		SZ_4M
-#define PICOXCELL_VIC0_BASE		0x80060000
-#define PICOXCELL_VIC1_BASE		0x80064000
-
-#endif /* __PICOXCELL_SOC_H__ */
-- 
1.7.9.5

[PATCH v3 00/12] Initial multi-platform support

From: Shawn Guo <hidden>
Date: 2012-09-14 00:58:40

On Mon, Sep 10, 2012 at 08:07:11PM +0100, Jamie Iles wrote:
quoted hunk
8<---

Subject: [PATCH] ARM: picoxcell: fixup multiplatform breakage.

The debug macros had a dependency on mach headers.  Break that
dependency and restore building.

Signed-off-by: Jamie Iles <redacted>
---
 arch/arm/include/debug/picoxcell.S      |    4 ++--
 arch/arm/mach-picoxcell/common.c        |   11 ++++++-----
 arch/arm/mach-picoxcell/picoxcell_soc.h |   25 -------------------------
 3 files changed, 8 insertions(+), 32 deletions(-)
 delete mode 100644 arch/arm/mach-picoxcell/picoxcell_soc.h
diff --git a/arch/arm/include/debug/picoxcell.S b/arch/arm/include/debug/picoxcell.S
index 58d4ee3..7419deb 100644
--- a/arch/arm/include/debug/picoxcell.S
+++ b/arch/arm/include/debug/picoxcell.S
@@ -9,10 +9,10 @@
  * accesses to the 8250.
  */
 #include <linux/serial_reg.h>
-#include <mach/hardware.h>
-#include <mach/map.h>
 
 #define UART_SHIFT 2
+#define PICOXCELL_UART1_BASE		0x80230000
+#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)
...
quoted hunk
 
 		.macro	addruart, rp, rv, tmp
 		ldr	\rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c
index a8b70b5..f6c0849 100644
--- a/arch/arm/mach-picoxcell/common.c
+++ b/arch/arm/mach-picoxcell/common.c
@@ -20,14 +20,15 @@
 #include <asm/hardware/vic.h>
 #include <asm/mach/map.h>
 
-#include "picoxcell_soc.h"
 #include "common.h"
 
-#define PHYS_TO_IO(x)		(((x) & 0x00ffffff) | 0xfe000000)
+#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)
So you end up with defining the same thing at two places.  You need to
somehow ensure any update to PHYS_TO_IO needs to get applied on both
to keep them synchronized.  This is difficult for maintaining.

We're running into the exactly same problem when moving debug-macro.S
for imx.  I believe this is a common issue which needs a common
solution.

I would propose to have the static mapping below (imx example) defined
in something like arch/arm/include/asm/mach/map_imx.h, so that both
imx machine code and ll-debug code can include it.

#define IMX_IO_P2V(x)   (                                               \
                        (((x) & 0x80000000) >> 7) |                     \
                        (0xf4000000 +                                   \
                        (((x) & 0x50000000) >> 6) +                     \
                        (((x) & 0x0b000000) >> 4) +                     \
                        (((x) & 0x000fffff))))

Thoughts?

Regards,
Shawn
quoted hunk
+#define PICOXCELL_PERIPH_BASE		0x80000000
+#define PICOXCELL_PERIPH_LENGTH		SZ_4M
 
-#define WDT_CTRL_REG_EN_MASK	(1 << 0)
-#define WDT_CTRL_REG_OFFS	(0x00)
-#define WDT_TIMEOUT_REG_OFFS	(0x04)
+#define WDT_CTRL_REG_EN_MASK		(1 << 0)
+#define WDT_CTRL_REG_OFFS		(0x00)
+#define WDT_TIMEOUT_REG_OFFS		(0x04)
 static void __iomem *wdt_regs;
 
 /*
diff --git a/arch/arm/mach-picoxcell/picoxcell_soc.h b/arch/arm/mach-picoxcell/picoxcell_soc.h
deleted file mode 100644
index 5566fc8..0000000
--- a/arch/arm/mach-picoxcell/picoxcell_soc.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * This file contains the hardware definitions of the picoXcell SoC devices.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-#ifndef __PICOXCELL_SOC_H__
-#define __PICOXCELL_SOC_H__
-
-#define PICOXCELL_UART1_BASE		0x80230000
-#define PICOXCELL_PERIPH_BASE		0x80000000
-#define PICOXCELL_PERIPH_LENGTH		SZ_4M
-#define PICOXCELL_VIC0_BASE		0x80060000
-#define PICOXCELL_VIC1_BASE		0x80064000
-
-#endif /* __PICOXCELL_SOC_H__ */
-- 
1.7.9.5

[PATCH v3 00/12] Initial multi-platform support

From: Rob Herring <hidden>
Date: 2012-09-14 13:00:30

On 09/13/2012 07:58 PM, Shawn Guo wrote:
On Mon, Sep 10, 2012 at 08:07:11PM +0100, Jamie Iles wrote:
quoted
8<---

Subject: [PATCH] ARM: picoxcell: fixup multiplatform breakage.

The debug macros had a dependency on mach headers.  Break that
dependency and restore building.

Signed-off-by: Jamie Iles <redacted>
---
 arch/arm/include/debug/picoxcell.S      |    4 ++--
 arch/arm/mach-picoxcell/common.c        |   11 ++++++-----
 arch/arm/mach-picoxcell/picoxcell_soc.h |   25 -------------------------
 3 files changed, 8 insertions(+), 32 deletions(-)
 delete mode 100644 arch/arm/mach-picoxcell/picoxcell_soc.h
diff --git a/arch/arm/include/debug/picoxcell.S b/arch/arm/include/debug/picoxcell.S
index 58d4ee3..7419deb 100644
--- a/arch/arm/include/debug/picoxcell.S
+++ b/arch/arm/include/debug/picoxcell.S
@@ -9,10 +9,10 @@
  * accesses to the 8250.
  */
 #include <linux/serial_reg.h>
-#include <mach/hardware.h>
-#include <mach/map.h>
 
 #define UART_SHIFT 2
+#define PICOXCELL_UART1_BASE		0x80230000
+#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)
...
quoted
 
 		.macro	addruart, rp, rv, tmp
 		ldr	\rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c
index a8b70b5..f6c0849 100644
--- a/arch/arm/mach-picoxcell/common.c
+++ b/arch/arm/mach-picoxcell/common.c
@@ -20,14 +20,15 @@
 #include <asm/hardware/vic.h>
 #include <asm/mach/map.h>
 
-#include "picoxcell_soc.h"
 #include "common.h"
 
-#define PHYS_TO_IO(x)		(((x) & 0x00ffffff) | 0xfe000000)
+#define PHYS_TO_IO(x)			(((x) & 0x00ffffff) | 0xfe000000)
So you end up with defining the same thing at two places.  You need to
somehow ensure any update to PHYS_TO_IO needs to get applied on both
to keep them synchronized.  This is difficult for maintaining.

We're running into the exactly same problem when moving debug-macro.S
for imx.  I believe this is a common issue which needs a common
solution.

I would propose to have the static mapping below (imx example) defined
in something like arch/arm/include/asm/mach/map_imx.h, so that both
imx machine code and ll-debug code can include it.

#define IMX_IO_P2V(x)   (                                               \
                        (((x) & 0x80000000) >> 7) |                     \
                        (0xf4000000 +                                   \
                        (((x) & 0x50000000) >> 6) +                     \
                        (((x) & 0x0b000000) >> 4) +                     \
                        (((x) & 0x000fffff))))

Thoughts?
My thought is to use a fixed virtual address across platforms and make
the physical address a config option. Possibly the uart type can also be
a config option. The 8250 one also needs register stride. See here:

http://lists.infradead.org/pipermail/linux-arm-kernel/2012-August/116982.html

Rob
Regards,
Shawn
quoted
+#define PICOXCELL_PERIPH_BASE		0x80000000
+#define PICOXCELL_PERIPH_LENGTH		SZ_4M
 
-#define WDT_CTRL_REG_EN_MASK	(1 << 0)
-#define WDT_CTRL_REG_OFFS	(0x00)
-#define WDT_TIMEOUT_REG_OFFS	(0x04)
+#define WDT_CTRL_REG_EN_MASK		(1 << 0)
+#define WDT_CTRL_REG_OFFS		(0x00)
+#define WDT_TIMEOUT_REG_OFFS		(0x04)
 static void __iomem *wdt_regs;
 
 /*
diff --git a/arch/arm/mach-picoxcell/picoxcell_soc.h b/arch/arm/mach-picoxcell/picoxcell_soc.h
deleted file mode 100644
index 5566fc8..0000000
--- a/arch/arm/mach-picoxcell/picoxcell_soc.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2011 Picochip Ltd., Jamie Iles
- *
- * This file contains the hardware definitions of the picoXcell SoC devices.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-#ifndef __PICOXCELL_SOC_H__
-#define __PICOXCELL_SOC_H__
-
-#define PICOXCELL_UART1_BASE		0x80230000
-#define PICOXCELL_PERIPH_BASE		0x80000000
-#define PICOXCELL_PERIPH_LENGTH		SZ_4M
-#define PICOXCELL_VIC0_BASE		0x80060000
-#define PICOXCELL_VIC1_BASE		0x80064000
-
-#endif /* __PICOXCELL_SOC_H__ */
-- 
1.7.9.5
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help