Skip to contentSkip to conversation

Further cleanup and enable multiplat build

PATCH Superseded Sachin Kamat 7 participants 24 messages Apr 15, 2014 – May 14, 2014

Subsystems (7)
lore
Share & tools
lore
#0 lore raw

v2 cover Further cleanup and enable multiplat build

This series is based on latest linux-next and depends on the following patch:
ARM: EXYNOS: Consolidate Kconfig entries
http://article.gmane.org/gmane.linux.kernel.samsung-soc/28642

Changes since v2:
Replaced patch 2, "ARM: EXYNOS: Staticize exynos_subsys" with "ARM: EXYNOS: Remove exynos_subsys registration" as that code is no more used.

Tested on Exynos4210, 4412, 5250 and 5420 based boards.

Arnd Bergmann (1):
ARM: EXYNOS: Enable multi-platform build support

Sachin Kamat (5):
ARM: EXYNOS: Remove duplicate lines in Makefile
ARM: EXYNOS: Remove exynos_subsys registration
ARM: EXYNOS: Migrate Exynos specific macros from plat to mach
ARM: EXYNOS: Remove unnecessary inclusion of cpu.h
ARM: multi_v7_defconfig: Enable Exynos platform

 arch/arm/Kconfig                         |   27 ++---------
 arch/arm/configs/exynos_defconfig        |    2 +-
 arch/arm/configs/multi_v7_defconfig      |   10 +++++
 arch/arm/mach-exynos/Kconfig             |   27 +++++++++++
 arch/arm/mach-exynos/Makefile            |    9 ++--
 arch/arm/mach-exynos/common.h            |   72 ++++++++++++++++++++++++++++++
 arch/arm/mach-exynos/cpuidle.c           |    1 -
 arch/arm/mach-exynos/exynos.c            |   13 ------
 arch/arm/mach-exynos/hotplug.c           |    2 -
 arch/arm/mach-exynos/platsmp.c           |    2 -
 arch/arm/mach-exynos/pm.c                |    1 -
 arch/arm/mach-exynos/pmu.c               |    2 -
 arch/arm/plat-samsung/Makefile           |    3 ++
 arch/arm/plat-samsung/include/plat/cpu.h |   61 -------------------------
 14 files changed, 119 insertions(+), 113 deletions(-)
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v2 1/6 ARM: EXYNOS: Remove duplicate lines in Makefile

Group all files compiled under common config option together.

---
 arch/arm/mach-exynos/Makefile |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
arch/arm/mach-exynos/Makefile +1 -6
index a656dbe3b78c..f6dcc256db56 100644
@@ -12,20 +12,15 @@ obj-				:=
 
 # Core
 
-obj-$(CONFIG_ARCH_EXYNOS)	+= exynos.o
+obj-$(CONFIG_ARCH_EXYNOS)	+= exynos.o pmu.o exynos-smc.o firmware.o
 
 obj-$(CONFIG_PM_SLEEP)		+= pm.o sleep.o
 obj-$(CONFIG_PM_GENERIC_DOMAINS) += pm_domains.o
 obj-$(CONFIG_CPU_IDLE)		+= cpuidle.o
 
-obj-$(CONFIG_ARCH_EXYNOS)	+= pmu.o
-
 obj-$(CONFIG_SMP)		+= platsmp.o headsmp.o
 
 obj-$(CONFIG_HOTPLUG_CPU)	+= hotplug.o
 
-obj-$(CONFIG_ARCH_EXYNOS)	+= exynos-smc.o
-obj-$(CONFIG_ARCH_EXYNOS)	+= firmware.o
-
 plus_sec := $(call as-instr,.arch_extension sec,+sec)
 AFLAGS_exynos-smc.o		:=-Wa,-march=armv7-a$(plus_sec)
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH v2 2/6 ARM: EXYNOS: Remove exynos_subsys registration

In reply to Sachin Kamat

'exynos_subsys' has no users. Remove this code.

---
 arch/arm/mach-exynos/exynos.c            |   11 -----------
 arch/arm/plat-samsung/include/plat/cpu.h |    1 -
 2 files changed, 12 deletions(-)
arch/arm/mach-exynos/exynos.c +0 -11
index b32a907d021d..eb1a431a894a 100644
@@ -308,17 +308,6 @@ void __init exynos_init_io(void)
 	exynos_map_io();
 }
 
-struct bus_type exynos_subsys = {
-	.name		= "exynos-core",
-	.dev_name	= "exynos-core",
-};
-
-static int __init exynos_core_init(void)
-{
-	return subsys_system_register(&exynos_subsys, NULL);
-}
-core_initcall(exynos_core_init);
-
 static int __init exynos4_l2x0_cache_init(void)
 {
 	int ret;
arch/arm/plat-samsung/include/plat/cpu.h +0 -1
index 5992b8dd9b89..930b4be832cd 100644
@@ -239,7 +239,6 @@ extern struct bus_type s3c2443_subsys;
 extern struct bus_type s3c6410_subsys;
 extern struct bus_type s5p64x0_subsys;
 extern struct bus_type s5pv210_subsys;
-extern struct bus_type exynos_subsys;
 
 extern void (*s5pc1xx_idle)(void);
 
Signature · 1 line
1.7.9.5
#3 lore raw

PATCH v2 3/6 ARM: EXYNOS: Migrate Exynos specific macros from plat to mach

In reply to Sachin Kamat

Move Exynos specific macros to mach-exynos from plat-samsung to avoid unnecessary dependency on plat based header files.

---
 arch/arm/mach-exynos/common.h            |   72 ++++++++++++++++++++++++++++++
 arch/arm/plat-samsung/include/plat/cpu.h |   60 -------------------------
 2 files changed, 72 insertions(+), 60 deletions(-)
arch/arm/mach-exynos/common.h +72 -0
index 9ef3f83efaff..c1a2f2207af0 100644
@@ -15,6 +15,75 @@
 #include <linux/reboot.h>
 #include <linux/of.h>
 
+#define EXYNOS4210_CPU_ID	0x43210000
+#define EXYNOS4212_CPU_ID	0x43220000
+#define EXYNOS4412_CPU_ID	0xE4412200
+#define EXYNOS4_CPU_MASK	0xFFFE0000
+
+#define EXYNOS5250_SOC_ID	0x43520000
+#define EXYNOS5420_SOC_ID	0xE5420000
+#define EXYNOS5440_SOC_ID	0xE5440000
+#define EXYNOS5_SOC_MASK	0xFFFFF000
+
+extern unsigned long samsung_cpu_id;
+
+#define IS_SAMSUNG_CPU(name, id, mask)		\
+static inline int is_samsung_##name(void)	\
+{						\
+	return ((samsung_cpu_id & mask) == (id & mask));	\
+}
+
+IS_SAMSUNG_CPU(exynos4210, EXYNOS4210_CPU_ID, EXYNOS4_CPU_MASK)
+IS_SAMSUNG_CPU(exynos4212, EXYNOS4212_CPU_ID, EXYNOS4_CPU_MASK)
+IS_SAMSUNG_CPU(exynos4412, EXYNOS4412_CPU_ID, EXYNOS4_CPU_MASK)
+IS_SAMSUNG_CPU(exynos5250, EXYNOS5250_SOC_ID, EXYNOS5_SOC_MASK)
+IS_SAMSUNG_CPU(exynos5420, EXYNOS5420_SOC_ID, EXYNOS5_SOC_MASK)
+IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK)
+
+#if defined(CONFIG_CPU_EXYNOS4210)
+# define soc_is_exynos4210()	is_samsung_exynos4210()
+#else
+# define soc_is_exynos4210()	0
+#endif
+
+#if defined(CONFIG_SOC_EXYNOS4212)
+# define soc_is_exynos4212()	is_samsung_exynos4212()
+#else
+# define soc_is_exynos4212()	0
+#endif
+
+#if defined(CONFIG_SOC_EXYNOS4412)
+# define soc_is_exynos4412()	is_samsung_exynos4412()
+#else
+# define soc_is_exynos4412()	0
+#endif
+
+#define EXYNOS4210_REV_0	(0x0)
+#define EXYNOS4210_REV_1_0	(0x10)
+#define EXYNOS4210_REV_1_1	(0x11)
+
+#if defined(CONFIG_SOC_EXYNOS5250)
+# define soc_is_exynos5250()	is_samsung_exynos5250()
+#else
+# define soc_is_exynos5250()	0
+#endif
+
+#if defined(CONFIG_SOC_EXYNOS5420)
+# define soc_is_exynos5420()	is_samsung_exynos5420()
+#else
+# define soc_is_exynos5420()	0
+#endif
+
+#if defined(CONFIG_SOC_EXYNOS5440)
+# define soc_is_exynos5440()	is_samsung_exynos5440()
+#else
+# define soc_is_exynos5440()	0
+#endif
+
+#define soc_is_exynos4() (soc_is_exynos4210() || soc_is_exynos4212() || \
+			  soc_is_exynos4412())
+#define soc_is_exynos5() (soc_is_exynos5250() || soc_is_exynos5420())
+
 void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1);
 
 struct map_desc;
@@ -63,4 +132,7 @@ struct exynos_pmu_conf {
 
 extern void exynos_sys_powerdown_conf(enum sys_powerdown mode);
 
+extern void s5p_init_cpu(void __iomem *cpuid_addr);
+extern unsigned int samsung_rev(void);
+
 #endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */
arch/arm/plat-samsung/include/plat/cpu.h +0 -60

78 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#4 lore raw

PATCH v2 4/6 ARM: EXYNOS: Remove unnecessary inclusion of cpu.h

In reply to Sachin Kamat

Exynos specific macros and declarations have been moved to mach-exynos. Inclusion of plat/cpu.h is no more necessary.

---
 arch/arm/mach-exynos/cpuidle.c |    1 -
 arch/arm/mach-exynos/exynos.c  |    2 --
 arch/arm/mach-exynos/hotplug.c |    2 --
 arch/arm/mach-exynos/platsmp.c |    2 --
 arch/arm/mach-exynos/pm.c      |    1 -
 arch/arm/mach-exynos/pmu.c     |    2 --
 6 files changed, 10 deletions(-)
arch/arm/mach-exynos/cpuidle.c +0 -1
index c57cae0e8779..3dd385ebf195 100644
@@ -24,7 +24,6 @@
 #include <asm/unified.h>
 #include <asm/cpuidle.h>
 
-#include <plat/cpu.h>
 #include <plat/pm.h>
 
 #include <mach/map.h>
arch/arm/mach-exynos/exynos.c +0 -2
index eb1a431a894a..59aab756702e 100644
@@ -26,8 +26,6 @@
 #include <asm/mach/map.h>
 #include <asm/memory.h>
 
-#include <plat/cpu.h>
-
 #include "common.h"
 #include "mfc.h"
 #include "regs-pmu.h"
arch/arm/mach-exynos/hotplug.c +0 -2
index 5eead530c6f8..884e83cfbfbb 100644
@@ -19,8 +19,6 @@
 #include <asm/cp15.h>
 #include <asm/smp_plat.h>
 
-#include <plat/cpu.h>
-
 #include "common.h"
 #include "regs-pmu.h"
 
arch/arm/mach-exynos/platsmp.c +0 -2
index 03e5e9f94705..c28cdb1c82cd 100644
@@ -26,8 +26,6 @@
 #include <asm/smp_scu.h>
 #include <asm/firmware.h>
 
-#include <plat/cpu.h>
-
 #include "common.h"
 #include "regs-pmu.h"
 
arch/arm/mach-exynos/pm.c +0 -1
index 15af0ceb0a66..ca672e24b5cd 100644
@@ -26,7 +26,6 @@
 #include <asm/smp_scu.h>
 #include <asm/suspend.h>
 
-#include <plat/cpu.h>
 #include <plat/pm-common.h>
 #include <plat/pll.h>
 #include <plat/regs-srom.h>
arch/arm/mach-exynos/pmu.c +0 -2
index 05c7ce15322a..fb0deda3b3a4 100644
@@ -13,8 +13,6 @@
 #include <linux/kernel.h>
 #include <linux/bug.h>
 
-#include <plat/cpu.h>
-
 #include "common.h"
 #include "regs-pmu.h"
 
Signature · 1 line
1.7.9.5
#5 lore raw

PATCH v2 5/6 ARM: EXYNOS: Enable multi-platform build support

In reply to Sachin Kamat

From: Arnd Bergmann <[email protected]>

This makes it possible to enable the exynos platform as part of a multiplatform kernel, in addition to keeping the single-platform Exynos support.
sparsemem is currently not supported in multiplatform.

---
 arch/arm/Kconfig                  |   27 +++------------------------
 arch/arm/configs/exynos_defconfig |    2 +-
 arch/arm/mach-exynos/Kconfig      |   27 +++++++++++++++++++++++++++
 arch/arm/mach-exynos/Makefile     |    2 ++
 arch/arm/plat-samsung/Makefile    |    3 +++
 5 files changed, 36 insertions(+), 25 deletions(-)
arch/arm/Kconfig +3 -24
index 4422601059e8..9d459e9c396b 100644
@@ -828,34 +828,13 @@ config ARCH_S5PV210
 	help
 	  Samsung S5PV210/S5PC110 series based systems
 
-config ARCH_EXYNOS
+config ARCH_EXYNOS_SINGLE
 	bool "Samsung EXYNOS"
-	select ARCH_HAS_BANDGAP
-	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_HOLES_MEMORYMODEL
-	select ARCH_REQUIRE_GPIOLIB
+	select ARCH_EXYNOS
 	select ARCH_SPARSEMEM_ENABLE
-	select ARM_AMBA
-	select ARM_GIC
-	select CLKSRC_OF
-	select COMMON_CLK
-	select CPU_V7
-	select GENERIC_CLOCKEVENTS
-	select HAVE_ARM_SCU if SMP
-	select HAVE_S3C2410_I2C if I2C
-	select HAVE_S3C2410_WATCHDOG if WATCHDOG
-	select HAVE_S3C_RTC if RTC_CLASS
-	select HAVE_SMP
 	select NEED_MACH_MEMORY_H
-	select PINCTRL
-	select PINCTRL_EXYNOS
-	select PM_GENERIC_DOMAINS if PM_RUNTIME
-	select S5P_DEV_MFC
-	select SAMSUNG_DMADEV
-	select SPARSE_IRQ
-	select USE_OF
 	help
-	  Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
+	  Support for SAMSUNG EXYNOS SoCs (EXYNOS4/5)
 
 config ARCH_DAVINCI
 	bool "TI DaVinci"
arch/arm/configs/exynos_defconfig +1 -1
index 4ce7b70ea901..103a676256cd 100644
@@ -7,7 +7,7 @@ CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 # CONFIG_BLK_DEV_BSG is not set
 CONFIG_PARTITION_ADVANCED=y
-CONFIG_ARCH_EXYNOS=y
+CONFIG_ARCH_EXYNOS_SINGLE=y
 CONFIG_S3C_LOWLEVEL_UART_PORT=3
 CONFIG_S3C24XX_PWM=y
 CONFIG_ARCH_EXYNOS5=y
arch/arm/mach-exynos/Kconfig +27 -0
index 5c34dc26cec6..bc55af76a05f 100644
@@ -7,6 +7,33 @@
 
 # Configuration options for the EXYNOS4
 
+config ARCH_EXYNOS
+	bool "Samsung EXYNOS" if ARCH_MULTI_V7
+	select ARCH_HAS_BANDGAP
+	select ARCH_HAS_CPUFREQ
+	select ARCH_HAS_HOLES_MEMORYMODEL
+	select ARCH_REQUIRE_GPIOLIB
+	select ARM_AMBA
+	select ARM_GIC
+	select CLKSRC_OF
+	select COMMON_CLK
+	select CPU_V7
+	select GENERIC_CLOCKEVENTS
+	select HAVE_ARM_SCU if SMP
+	select HAVE_S3C2410_I2C if I2C
+	select HAVE_S3C2410_WATCHDOG if WATCHDOG
+	select HAVE_S3C_RTC if RTC_CLASS
+	select HAVE_SMP
+	select PINCTRL
+	select PINCTRL_EXYNOS
+	select PM_GENERIC_DOMAINS if PM_RUNTIME
+	select S5P_DEV_MFC
+	select SAMSUNG_DMADEV
+	select SPARSE_IRQ
+	select USE_OF
+	help
+	  Support for SAMSUNG EXYNOS SoCs (EXYNOS4/5)
+
 if ARCH_EXYNOS
 
 menu "SAMSUNG EXYNOS SoCs Support"
arch/arm/mach-exynos/Makefile +2 -0
index f6dcc256db56..24a8efe3d4bd 100644
@@ -5,6 +5,8 @@
 #
 # Licensed under GPLv2
 
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree)/arch/arm/plat-samsung/include
+
 obj-y				:=
 obj-m				:=
 obj-n				:=
arch/arm/plat-samsung/Makefile +3 -0
index 25c826ed3b65..5e5beaa9ae15 100644
@@ -4,6 +4,9 @@
 #
 # Licensed under GPLv2
 
+ccflags-$(CONFIG_ARCH_MULTI_V7) += -I$(srctree)/$(src)/include
+ccflags-$(CONFIG_ARCH_EXYNOS)	+= -I$(srctree)/arch/arm/mach-exynos/include
+
 obj-y				:=
 obj-m				:=
 obj-n				:= dummy.o
Signature · 1 line
1.7.9.5
#6 lore raw

PATCH v2 5/6 ARM: EXYNOS: Enable multi-platform build support

Hi Sachin,

Quoted 6 lines · Sachin Kamat

From: Arnd Bergmann <[email protected]>

This makes it possible to enable the exynos platform as part of a multiplatform kernel, in addition to keeping the single-platform Exynos support.
sparsemem is currently not supported in multiplatform.

Is this still true as of today?

Otherwise looks fine.

Best regards,
Tomasz

#7 lore raw

PATCH 5/6 ARM: EXYNOS: Enable multi-platform build support

Quoted 11 lines · On Wednesday 16 April 2014 15:51:29 Tomasz Figa wrote:
Quoted 6 lines · Sachin Kamat

From: Arnd Bergmann <[email protected]>

This makes it possible to enable the exynos platform as part of a multiplatform kernel, in addition to keeping the single-platform Exynos support.
sparsemem is currently not supported in multiplatform.

Is this still true as of today?

Otherwise looks fine.

sparsemem is still not supported in multiplatform, but after I looked at it in more detail, I came to the conclusion that there is no reason why it couldn't be. It just needs testing so we are confident that it doesn't break other platforms, and we need to find good platform-independent values for MAX_PHYSMEM_BITS and SECTION_SIZE_BITS to put into asm/memory.h, since we can't have them set in mach/memory.h for multiplatform.

Looking at my patch again now, I would actually prefer to kill off the single-platform support for exynos right away. I don't see any reason to keep it now, and it complicates the test matrix.

Arnd

#8 lore raw

PATCH v2 5/6 ARM: EXYNOS: Enable multi-platform build support

Quoted 21 lines · Arnd Bergmann
Quoted 11 lines · On Wednesday 16 April 2014 15:51:29 Tomasz Figa wrote:
Quoted 6 lines · Sachin Kamat

From: Arnd Bergmann <[email protected]>

This makes it possible to enable the exynos platform as part of a multiplatform kernel, in addition to keeping the single-platform Exynos support.
sparsemem is currently not supported in multiplatform.

Is this still true as of today?

Otherwise looks fine.

sparsemem is still not supported in multiplatform, but after I looked at it in more detail, I came to the conclusion that there is no reason why it couldn't be. It just needs testing so we are confident that it doesn't break other platforms, and we need to find good platform-independent values for MAX_PHYSMEM_BITS and SECTION_SIZE_BITS to put into asm/memory.h, since we can't have them set in mach/memory.h for multiplatform.

Quoted 3 lines

Looking at my patch again now, I would actually prefer to kill off the single-platform support for exynos right away. I don't see any reason to keep it now, and it complicates the test matrix.

That would be the best option, assuming that it wouldn't introduce feature regressions. Unfortunately there is still ongoing work on cpufreq driver to make it multiplatform-aware, so dropping single platform support right now would introduce at least this one regression.

Thomas, is there any progress on new version of Exynos cpufreq rework series?

Best regards,
Tomasz

#9 lore raw

PATCH 5/6 ARM: EXYNOS: Enable multi-platform build support

Quoted 32 lines · Tomasz Figa
Quoted 26 lines · Arnd Bergmann
Quoted 11 lines · On Wednesday 16 April 2014 15:51:29 Tomasz Figa wrote:
Quoted 7 lines · Sachin Kamat

From: Arnd Bergmann <[email protected]>

This makes it possible to enable the exynos platform as part of a multiplatform kernel, in addition to keeping the single-platform Exynos support.
sparsemem is currently not supported in multiplatform.

Quoted 3 lines

Is this still true as of today?

Otherwise looks fine.

sparsemem is still not supported in multiplatform, but after I looked at it in more detail, I came to the conclusion that there is no reason why it couldn't be. It just needs testing so we are confident that it doesn't break other platforms, and we need to find good platform-independent values for MAX_PHYSMEM_BITS and SECTION_SIZE_BITS to put into asm/memory.h, since we can't have them set in mach/memory.h for multiplatform.

Quoted 3 lines

Looking at my patch again now, I would actually prefer to kill off the single-platform support for exynos right away. I don't see any reason to keep it now, and it complicates the test matrix.

Quoted 7 lines

That would be the best option, assuming that it wouldn't introduce feature regressions. Unfortunately there is still ongoing work on cpufreq driver to make it multiplatform-aware, so dropping single platform support right now would introduce at least this one regression.

Thomas, is there any progress on new version of Exynos cpufreq rework series?

Hi Tomasz,

Yes, I am preparing the fourth version of the cpufreq patches and will post it next week. Mostly, the changes will be addressing your review comments.

Thanks,
Thomas.

Quoted 3 lines

Best regards,
Tomasz

#10 lore raw

PATCH v2 5/6 ARM: EXYNOS: Enable multi-platform build support

Hi Thomas,

Quoted 38 lines · Thomas Abraham
Quoted 37 lines · Tomasz Figa
Quoted 26 lines · Arnd Bergmann
Quoted 11 lines · On Wednesday 16 April 2014 15:51:29 Tomasz Figa wrote:
Quoted 7 lines · Sachin Kamat

From: Arnd Bergmann <[email protected]>

This makes it possible to enable the exynos platform as part of a multiplatform kernel, in addition to keeping the single-platform Exynos support.
sparsemem is currently not supported in multiplatform.

Quoted 3 lines

Is this still true as of today?

Otherwise looks fine.

sparsemem is still not supported in multiplatform, but after I looked at it in more detail, I came to the conclusion that there is no reason why it couldn't be. It just needs testing so we are confident that it doesn't break other platforms, and we need to find good platform-independent values for MAX_PHYSMEM_BITS and SECTION_SIZE_BITS to put into asm/memory.h, since we can't have them set in mach/memory.h for multiplatform.

Quoted 3 lines

Looking at my patch again now, I would actually prefer to kill off the single-platform support for exynos right away. I don't see any reason to keep it now, and it complicates the test matrix.

That would be the best option, assuming that it wouldn't introduce feature regressions. Unfortunately there is still ongoing work on cpufreq driver to make it multiplatform-aware, so dropping single platform support right now would introduce at least this one regression.

Quoted 8 lines
Quoted 2 lines

Thomas, is there any progress on new version of Exynos cpufreq rework series?

Hi Tomasz,

Yes, I am preparing the fourth version of the cpufreq patches and will post it next week. Mostly, the changes will be addressing your review comments.

OK. Looking forward to it. Thanks for an update on this.

Best regards,
Tomasz

#11 lore raw

PATCH 5/6 ARM: EXYNOS: Enable multi-platform build support

Quoted 24 lines · On Wednesday 16 April 2014 16:58:43 Tomasz Figa wrote:
Quoted 23 lines · Thomas Abraham
Quoted 21 lines · Tomasz Figa
Quoted 11 lines · Arnd Bergmann

sparsemem is still not supported in multiplatform, but after I looked at it in more detail, I came to the conclusion that there is no reason why it couldn't be. It just needs testing so we are confident that it doesn't break other platforms, and we need to find good platform-independent values for MAX_PHYSMEM_BITS and SECTION_SIZE_BITS to put into asm/memory.h, since we can't have them set in mach/memory.h for multiplatform.

Looking at my patch again now, I would actually prefer to kill off the single-platform support for exynos right away. I don't see any reason to keep it now, and it complicates the test matrix.

That would be the best option, assuming that it wouldn't introduce feature regressions. Unfortunately there is still ongoing work on cpufreq driver to make it multiplatform-aware, so dropping single platform support right now would introduce at least this one regression.

Thomas, is there any progress on new version of Exynos cpufreq rework series?

Quoted 8 lines
Quoted 5 lines

Hi Tomasz,

Yes, I am preparing the fourth version of the cpufreq patches and will post it next week. Mostly, the changes will be addressing your review comments.

OK. Looking forward to it. Thanks for an update on this.

Cool! This is the only major issue I'm aware of, so I think we're good.

If SPARSEMEM support is still relevant to anybody, I'm sure we can get that to work as well.

There is one small issue with the sound drivers that came up, and I assume it was just a mistake. If not, some more work on that might be needed. See patch below.

Arnd

8<-------

Quoted 1 line

From 6f3921c3218509114e855a8ea5932aeea5d3ddfd Mon Sep 17 00:00:00 2001

From: Arnd Bergmann <[email protected]>
Date: Tue, 18 Mar 2014 17:04:59 +0100
Subject: [PATCH] ASoC: samsung: don't build pcm and spdif on exynos

In commit d37bdf736d9b "ASoC: samsung: Use ASoC dmaengine code where possible", Mark Brown changed the EXYNOS ASoC code to no longer use the private dma interfaces that are standing in the way of multiplatform enablement.

However, in 313367e7bfa "ASoC: Samsung: Update Kconfig for I2S,SPDIF and PCM audio", two new users of that interface appeared, since it is now possible to enable SND_SOC_SAMSUNG_SMDK_SPDIF and SND_SOC_SMDK_WM8994_PCM on all Samsung SoCs including EXYNOS.

This patch does a partial revert of 313367e7bfa by allowing these drivers on all samsung platforms except EXYNOS, so we can proceed with the multiplatform patches.

If support for these drivers is actually needed on EXYNOS machines, the drivers should first be moved over to use the dmaengine code.

Cc Sangsu Park <[email protected]>
Cc Sangbeom Kim <[email protected]>
Cc Padmavathi Venna <[email protected]>
Cc Mark Brown <[email protected]>
sound/soc/samsung/Kconfig +2 -2
index 7b610a8..efc01e0 100644
@@ -167,7 +167,7 @@ config SND_SOC_GONI_AQUILA_WM8994
 
 config SND_SOC_SAMSUNG_SMDK_SPDIF
 	tristate "SoC S/PDIF Audio support for SMDK"
-	depends on SND_SOC_SAMSUNG
+	depends on SND_SOC_SAMSUNG && !ARCH_EXYNOS
 	select SND_SAMSUNG_SPDIF
 	help
 	  Say Y if you want to add support for SoC S/PDIF audio on the SMDK.
@@ -183,7 +183,7 @@ config SND_SOC_SMDK_WM8580_PCM
 
 config SND_SOC_SMDK_WM8994_PCM
 	tristate "SoC PCM Audio support for WM8994 on SMDK"
-	depends on SND_SOC_SAMSUNG
+	depends on SND_SOC_SAMSUNG && !ARCH_EXYNOS
 	depends on I2C=y
 	select MFD_WM8994
 	select SND_SOC_WM8994
maintainer
#12 lore raw

PATCH 5/6 ARM: EXYNOS: Enable multi-platform build support

Quoted 6 lines · Arnd Bergmann

This patch does a partial revert of 313367e7bfa by allowing these drivers on all samsung platforms except EXYNOS, so we can proceed with the multiplatform patches.

If support for these drivers is actually needed on EXYNOS machines, the drivers should first be moved over to use the dmaengine code.

I would be surprised if neither IP is present on any Exynos SoC, they
were added in the s5p range. Is Sachin's fix for building these
(present in -rc1) not doing the job?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140416/9ef060de/attachment.sig>

#13 lore raw

PATCH 5/6 ARM: EXYNOS: Enable multi-platform build support

Quoted 6 lines · On Wednesday 16 April 2014 21:50:01 Mark Brown wrote:
Quoted 3 lines · Arnd Bergmann

This patch does a partial revert of 313367e7bfa by allowing these drivers on all samsung platforms except EXYNOS, so we can proceed with the multiplatform patches.

Quoted 6 lines
Quoted 2 lines

If support for these drivers is actually needed on EXYNOS machines, the drivers should first be moved over to use the dmaengine code.

I would be surprised if neither IP is present on any Exynos SoC, they were added in the s5p range. Is Sachin's fix for building these (present in -rc1) not doing the job?

I hadn't noticed that patch, it probably does, so nevermind.

Arnd

#14 lore raw

PATCH 5/6 ARM: EXYNOS: Enable multi-platform build support

In reply to Sachin Kamat
Quoted 46 lines · Sachin Kamat

From: Arnd Bergmann <[email protected]>

This makes it possible to enable the exynos platform as part of a multiplatform kernel, in addition to keeping the single-platform Exynos support.
sparsemem is currently not supported in multiplatform.

---
 arch/arm/Kconfig                  |   27 +++------------------------
 arch/arm/configs/exynos_defconfig |    2 +-
 arch/arm/mach-exynos/Kconfig      |   27 +++++++++++++++++++++++++++
 arch/arm/mach-exynos/Makefile     |    2 ++
 arch/arm/plat-samsung/Makefile    |    3 +++
 5 files changed, 36 insertions(+), 25 deletions(-)
arch/arm/Kconfig +2 -16
index 4422601059e8..9d459e9c396b 100644
@@ -828,34 +828,13 @@ config ARCH_S5PV210
        help
          Samsung S5PV210/S5PC110 series based systems
 
-config ARCH_EXYNOS
+config ARCH_EXYNOS_SINGLE
        bool "Samsung EXYNOS"
-       select ARCH_HAS_BANDGAP
-       select ARCH_HAS_CPUFREQ
-       select ARCH_HAS_HOLES_MEMORYMODEL
-       select ARCH_REQUIRE_GPIOLIB
+       select ARCH_EXYNOS
        select ARCH_SPARSEMEM_ENABLE
-       select ARM_AMBA
-       select ARM_GIC
-       select CLKSRC_OF
-       select COMMON_CLK
-       select CPU_V7
-       select GENERIC_CLOCKEVENTS
-       select HAVE_ARM_SCU if SMP
-       select HAVE_S3C2410_I2C if I2C
-       select HAVE_S3C2410_WATCHDOG if WATCHDOG
-       select HAVE_S3C_RTC if RTC_CLASS
-       select HAVE_SMP
        select NEED_MACH_MEMORY_H

arch/arm/Kconfig config ARCH_S5PV210 · line 837

Quoted 10 lines
arch/arm/Kconfig +1 -8
-       select PINCTRL
-       select PINCTRL_EXYNOS
-       select PM_GENERIC_DOMAINS if PM_RUNTIME
-       select S5P_DEV_MFC
-       select SAMSUNG_DMADEV
-       select SPARSE_IRQ
-       select USE_OF
        help
-         Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
+         Support for SAMSUNG EXYNOS SoCs (EXYNOS4/5)

I don't think there's a point in keeping this around. A "single-platform" config is just enabling a single platform in the config, it's not a specific option. I don't think any of the other platforms use anything like this today.

-Olof

#15 lore raw

PATCH 5/6 ARM: EXYNOS: Enable multi-platform build support

Quoted 4 lines · Olof Johansson

I don't think there's a point in keeping this around. A "single-platform" config is just enabling a single platform in the config, it's not a specific option. I don't think any of the other platforms use anything like this today.

The only one doing that is shmobile, but only because they have some SoCs that are multiplatform capable and some that are not. This isn't the case for Exynos, so it should no longer be needed.

When I originally created this patch 18 months ago, there were a number of drivers that broke when multiplatform got enabled. Now the cpufreq driver is the only one left, but it seems that it will make it for 3.16, and I wouldn't wait for it if it doesn't. Let's just do multiplatform-only.

Arnd

#16 lore raw

PATCH v2 5/6 ARM: EXYNOS: Enable multi-platform build support

Quoted 11 lines · Arnd Bergmann
Quoted 4 lines · Olof Johansson

I don't think there's a point in keeping this around. A "single-platform" config is just enabling a single platform in the config, it's not a specific option. I don't think any of the other platforms use anything like this today.

The only one doing that is shmobile, but only because they have some SoCs that are multiplatform capable and some that are not. This isn't the case for Exynos, so it should no longer be needed.

Quoted 6 lines

When I originally created this patch 18 months ago, there were a number of drivers that broke when multiplatform got enabled. Now the cpufreq driver is the only one left, but it seems that it will make it for 3.16, and I wouldn't wait for it if it doesn't. Let's just do multiplatform-only.

In my position in S.LSI, I'd like to keep the current ARCH_EXYNOS4 and EXYNOS5 because IMHO selecting each series would be helpful on real product, multiplatform is available though. Additionally EXYNOS3 is being added.

It's true we can support exynos-multiplatform even though above options are included...

Thanks,
Kukjin

#17 lore raw

PATCH 5/6 ARM: EXYNOS: Enable multi-platform build support

Quoted 18 lines · On Tuesday 13 May 2014 13:37:33 Kukjin Kim wrote:
Quoted 11 lines · Arnd Bergmann
Quoted 4 lines · Olof Johansson

I don't think there's a point in keeping this around. A "single-platform" config is just enabling a single platform in the config, it's not a specific option. I don't think any of the other platforms use anything like this today.

The only one doing that is shmobile, but only because they have some SoCs that are multiplatform capable and some that are not. This isn't the case for Exynos, so it should no longer be needed.

Quoted 6 lines

When I originally created this patch 18 months ago, there were a number of drivers that broke when multiplatform got enabled. Now the cpufreq driver is the only one left, but it seems that it will make it for 3.16, and I wouldn't wait for it if it doesn't. Let's just do multiplatform-only.

Quoted 6 lines

In my position in S.LSI, I'd like to keep the current ARCH_EXYNOS4 and EXYNOS5 because IMHO selecting each series would be helpful on real product, multiplatform is available though. Additionally EXYNOS3 is being added.

It's true we can support exynos-multiplatform even though above options are included...

I think we are talking about different questions here:

What Olof and I mean is we don't want to have an ARCH_EXYNOS_SINGLE option that is there for building EXYNOS but not allowing any other SoC.

What I think you mean is that you want the individual EXYNOS versions to be separate Kconfig options, so you can build a kernel that supports EXYNOS4 but not EXYNOS5 if you want to. This is totally fine as far as I'm concerned, and it's not directly related to the first point.

Note that if you enable LPAE, you will still only be able to build EXYNOS5 after the patch, but then you can have it in the same kernel as e.g. Tegra4 and Snapdragon 600.

Arnd

#18 lore raw

PATCH 5/6 ARM: EXYNOS: Enable multi-platform build support

Quoted 23 lines · Arnd Bergmann
Quoted 22 lines · On Tuesday 13 May 2014 13:37:33 Kukjin Kim wrote:
Quoted 11 lines · Arnd Bergmann
Quoted 4 lines · Olof Johansson

I don't think there's a point in keeping this around. A "single-platform" config is just enabling a single platform in the config, it's not a specific option. I don't think any of the other platforms use anything like this today.

The only one doing that is shmobile, but only because they have some SoCs that are multiplatform capable and some that are not. This isn't the case for Exynos, so it should no longer be needed.

Quoted 6 lines

When I originally created this patch 18 months ago, there were a number of drivers that broke when multiplatform got enabled. Now the cpufreq driver is the only one left, but it seems that it will make it for 3.16, and I wouldn't wait for it if it doesn't. Let's just do multiplatform-only.

In my position in S.LSI, I'd like to keep the current ARCH_EXYNOS4 and EXYNOS5 because IMHO selecting each series would be helpful on real product, multiplatform is available though. Additionally EXYNOS3 is being added.

Quoted 7 lines
Quoted 2 lines

It's true we can support exynos-multiplatform even though above options are included...

I think we are talking about different questions here:

What Olof and I mean is we don't want to have an ARCH_EXYNOS_SINGLE option that is there for building EXYNOS but not allowing any other SoC.

Yes. i.e. the only way forward is multiplatform _only_. _BUT_ you can choose to disable all other platforms in a kernel, and thus turn it into a single-platform build. That's fine. What we don't want is added logic like the EXYNOS_SINGLE Kconfig was, just to do that.

Quoted 4 lines

What I think you mean is that you want the individual EXYNOS versions to be separate Kconfig options, so you can build a kernel that supports EXYNOS4 but not EXYNOS5 if you want to. This is totally fine as far as I'm concerned, and it's not directly related to the first point.

I'm also OK with that, but please don't make it more granular than per family if you can avoid it.

Quoted 3 lines

Note that if you enable LPAE, you will still only be able to build EXYNOS5 after the patch, but then you can have it in the same kernel as e.g. Tegra4 and Snapdragon 600.

Yep, and that's as expected.

-Olof

#19 lore raw

PATCH v2 5/6 ARM: EXYNOS: Enable multi-platform build support

Quoted 25 lines · Olof Johansson
Quoted 23 lines · Arnd Bergmann
Quoted 22 lines · On Tuesday 13 May 2014 13:37:33 Kukjin Kim wrote:
Quoted 11 lines · Arnd Bergmann
Quoted 4 lines · Olof Johansson

I don't think there's a point in keeping this around. A "single-platform" config is just enabling a single platform in the config, it's not a specific option. I don't think any of the other platforms use anything like this today.

The only one doing that is shmobile, but only because they have some SoCs that are multiplatform capable and some that are not. This isn't the case for Exynos, so it should no longer be needed.

Quoted 6 lines

When I originally created this patch 18 months ago, there were a number of drivers that broke when multiplatform got enabled. Now the cpufreq driver is the only one left, but it seems that it will make it for 3.16, and I wouldn't wait for it if it doesn't. Let's just do multiplatform-only.

In my position in S.LSI, I'd like to keep the current ARCH_EXYNOS4 and EXYNOS5 because IMHO selecting each series would be helpful on real product, multiplatform is available though. Additionally EXYNOS3 is being added.

Quoted 5 lines
Quoted 5 lines
Quoted 2 lines

It's true we can support exynos-multiplatform even though above options are included...

I think we are talking about different questions here:

Thanks for your clarification.

Quoted 3 lines
Quoted 2 lines

What Olof and I mean is we don't want to have an ARCH_EXYNOS_SINGLE option that is there for building EXYNOS but not allowing any other SoC.

Yes and agreed ;-)

Quoted 5 lines

Yes. i.e. the only way forward is multiplatform _only_. _BUT_ you can choose to disable all other platforms in a kernel, and thus turn it into a single-platform build. That's fine. What we don't want is added logic like the EXYNOS_SINGLE Kconfig was, just to do that.

Sure.

Quoted 5 lines
Quoted 4 lines

What I think you mean is that you want the individual EXYNOS versions to be separate Kconfig options, so you can build a kernel that supports EXYNOS4 but not EXYNOS5 if you want to. This is totally fine as far as I'm concerned, and it's not directly related to the first point.

OK, thanks :-)

Quoted 3 lines

I'm also OK with that, but please don't make it more granular than per family if you can avoid it.

Sure.

Quoted 6 lines
Quoted 3 lines

Note that if you enable LPAE, you will still only be able to build EXYNOS5 after the patch, but then you can have it in the same kernel as e.g. Tegra4 and Snapdragon 600.

Yep, and that's as expected.

OK.

Thanks,
Kukjin

#20 lore raw

PATCH v2 6/6 ARM: multi_v7_defconfig: Enable Exynos platform

In reply to Sachin Kamat

Enable Exynos platform and its related IPs.

---
 arch/arm/configs/multi_v7_defconfig |   10 ++++++++++
 1 file changed, 10 insertions(+)
arch/arm/configs/multi_v7_defconfig +10 -0
index d4e8a47a2f7c..298057a0324c 100644
@@ -47,6 +47,7 @@ CONFIG_ARCH_SPEAR13XX=y
 CONFIG_MACH_SPEAR1310=y
 CONFIG_MACH_SPEAR1340=y
 CONFIG_ARCH_STI=y
+CONFIG_ARCH_EXYNOS=y
 CONFIG_ARCH_SUNXI=y
 CONFIG_ARCH_SIRF=y
 CONFIG_ARCH_TEGRA=y
@@ -71,6 +72,7 @@ CONFIG_PCI_MSI=y
 CONFIG_PCI_MVEBU=y
 CONFIG_PCI_TEGRA=y
 CONFIG_SMP=y
+CONFIG_NR_CPUS=8
 CONFIG_HIGHPTE=y
 CONFIG_CMA=y
 CONFIG_ARM_APPENDED_DTB=y
@@ -153,6 +155,8 @@ CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_8250_DW=y
 CONFIG_SERIAL_AMBA_PL011=y
 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
 CONFIG_SERIAL_SIRFSOC=y
 CONFIG_SERIAL_SIRFSOC_CONSOLE=y
 CONFIG_SERIAL_TEGRA=y
@@ -176,6 +180,7 @@ CONFIG_I2C_MUX=y
 CONFIG_I2C_MUX_PCA954x=y
 CONFIG_I2C_MUX_PINCTRL=y
 CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_I2C_EXYNOS5=y
 CONFIG_I2C_MV64XXX=y
 CONFIG_I2C_SIRF=y
 CONFIG_I2C_TEGRA=y
@@ -210,6 +215,7 @@ CONFIG_MFD_AS3722=y
 CONFIG_MFD_CROS_EC=y
 CONFIG_MFD_CROS_EC_SPI=y
 CONFIG_MFD_MAX8907=y
+CONFIG_MFD_SEC_CORE=y
 CONFIG_MFD_PALMAS=y
 CONFIG_MFD_TPS65090=y
 CONFIG_MFD_TPS6586X=y
@@ -220,6 +226,8 @@ CONFIG_REGULATOR_AS3722=y
 CONFIG_REGULATOR_GPIO=y
 CONFIG_REGULATOR_MAX8907=y
 CONFIG_REGULATOR_PALMAS=y
+CONFIG_REGULATOR_S2MPS11=y
+CONFIG_REGULATOR_S5M8767=y
 CONFIG_REGULATOR_TPS51632=y
 CONFIG_REGULATOR_TPS62360=y
 CONFIG_REGULATOR_TPS65090=y
@@ -280,6 +288,8 @@ CONFIG_MMC_SDHCI_BCM_KONA=y
 CONFIG_MMC_OMAP=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MMC_MVSDIO=y
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_EXYNOS=y
 CONFIG_EDAC=y
 CONFIG_EDAC_MM_EDAC=y
 CONFIG_EDAC_HIGHBANK_MC=y
Signature · 1 line
1.7.9.5
#21 lore raw

v2 cover Further cleanup and enable multiplat build

In reply to Sachin Kamat

Hi Sachin,

Quoted 22 lines · Sachin Kamat

This series is based on latest linux-next and depends on the following patch:
ARM: EXYNOS: Consolidate Kconfig entries
http://article.gmane.org/gmane.linux.kernel.samsung-soc/28642

Changes since v2:
Replaced patch 2, "ARM: EXYNOS: Staticize exynos_subsys" with "ARM: EXYNOS: Remove exynos_subsys registration" as that code is no more used.

Tested on Exynos4210, 4412, 5250 and 5420 based boards.

Arnd Bergmann (1):
ARM: EXYNOS: Enable multi-platform build support

Sachin Kamat (5):
ARM: EXYNOS: Remove duplicate lines in Makefile
ARM: EXYNOS: Remove exynos_subsys registration
ARM: EXYNOS: Migrate Exynos specific macros from plat to mach
ARM: EXYNOS: Remove unnecessary inclusion of cpu.h
ARM: multi_v7_defconfig: Enable Exynos platform

Quoted 16 lines
  arch/arm/Kconfig                         |   27 ++---------
  arch/arm/configs/exynos_defconfig        |    2 +-
  arch/arm/configs/multi_v7_defconfig      |   10 +++++
  arch/arm/mach-exynos/Kconfig             |   27 +++++++++++
  arch/arm/mach-exynos/Makefile            |    9 ++--
  arch/arm/mach-exynos/common.h            |   72 ++++++++++++++++++++++++++++++
  arch/arm/mach-exynos/cpuidle.c           |    1 -
  arch/arm/mach-exynos/exynos.c            |   13 ------
  arch/arm/mach-exynos/hotplug.c           |    2 -
  arch/arm/mach-exynos/platsmp.c           |    2 -
  arch/arm/mach-exynos/pm.c                |    1 -
  arch/arm/mach-exynos/pmu.c               |    2 -
  arch/arm/plat-samsung/Makefile           |    3 ++
  arch/arm/plat-samsung/include/plat/cpu.h |   61 -------------------------
  14 files changed, 119 insertions(+), 113 deletions(-)

For the whole series:

--
Best regards,
Tomasz

#22 lore raw

v2 cover Further cleanup and enable multiplat build

Quoted 46 lines · Tomasz Figa

Hi Sachin,

Quoted 32 lines · Sachin Kamat

This series is based on latest linux-next and depends on the following patch:
ARM: EXYNOS: Consolidate Kconfig entries
http://article.gmane.org/gmane.linux.kernel.samsung-soc/28642

Changes since v2:
Replaced patch 2, "ARM: EXYNOS: Staticize exynos_subsys" with "ARM: EXYNOS: Remove exynos_subsys registration" as that code is no more used.

Tested on Exynos4210, 4412, 5250 and 5420 based boards.

Arnd Bergmann (1):
ARM: EXYNOS: Enable multi-platform build support

Sachin Kamat (5):
ARM: EXYNOS: Remove duplicate lines in Makefile
ARM: EXYNOS: Remove exynos_subsys registration
ARM: EXYNOS: Migrate Exynos specific macros from plat to mach
ARM: EXYNOS: Remove unnecessary inclusion of cpu.h
ARM: multi_v7_defconfig: Enable Exynos platform

  arch/arm/Kconfig                         |   27 ++---------
  arch/arm/configs/exynos_defconfig        |    2 +-
  arch/arm/configs/multi_v7_defconfig      |   10 +++++
  arch/arm/mach-exynos/Kconfig             |   27 +++++++++++
  arch/arm/mach-exynos/Makefile            |    9 ++--
  arch/arm/mach-exynos/common.h            |   72
++++++++++++++++++++++++++++++
  arch/arm/mach-exynos/cpuidle.c           |    1 -
  arch/arm/mach-exynos/exynos.c            |   13 ------
Quoted 9 lines
  arch/arm/mach-exynos/hotplug.c           |    2 -
  arch/arm/mach-exynos/platsmp.c           |    2 -
  arch/arm/mach-exynos/pm.c                |    1 -
  arch/arm/mach-exynos/pmu.c               |    2 -
  arch/arm/plat-samsung/Makefile           |    3 ++
  arch/arm/plat-samsung/include/plat/cpu.h |   61
-------------------------
  14 files changed, 119 insertions(+), 113 deletions(-)
Quoted 3 lines

For the whole series:

Kukjin,

Can you please apply the first 4 patches in this series for now?

Signature · 2 lines
With warm regards,
Sachin
#23 lore raw

v2 cover Further cleanup and enable multiplat build

Quoted 47 lines · Sachin Kamat
Quoted 46 lines · Tomasz Figa

Hi Sachin,

Quoted 41 lines · Sachin Kamat

This series is based on latest linux-next and depends on the following patch:
ARM: EXYNOS: Consolidate Kconfig entries
http://article.gmane.org/gmane.linux.kernel.samsung-soc/28642

Changes since v2:
Replaced patch 2, "ARM: EXYNOS: Staticize exynos_subsys" with "ARM: EXYNOS: Remove exynos_subsys registration" as that code is no more used.

Tested on Exynos4210, 4412, 5250 and 5420 based boards.

Arnd Bergmann (1):
ARM: EXYNOS: Enable multi-platform build support

Sachin Kamat (5):
ARM: EXYNOS: Remove duplicate lines in Makefile
ARM: EXYNOS: Remove exynos_subsys registration
ARM: EXYNOS: Migrate Exynos specific macros from plat to mach
ARM: EXYNOS: Remove unnecessary inclusion of cpu.h
ARM: multi_v7_defconfig: Enable Exynos platform

   arch/arm/Kconfig                         |   27 ++---------
   arch/arm/configs/exynos_defconfig        |    2 +-
   arch/arm/configs/multi_v7_defconfig      |   10 +++++
   arch/arm/mach-exynos/Kconfig             |   27 +++++++++++
   arch/arm/mach-exynos/Makefile            |    9 ++--
   arch/arm/mach-exynos/common.h            |   72
++++++++++++++++++++++++++++++
   arch/arm/mach-exynos/cpuidle.c           |    1 -
   arch/arm/mach-exynos/exynos.c            |   13 ------
   arch/arm/mach-exynos/hotplug.c           |    2 -
   arch/arm/mach-exynos/platsmp.c           |    2 -
   arch/arm/mach-exynos/pm.c                |    1 -
   arch/arm/mach-exynos/pmu.c               |    2 -
   arch/arm/plat-samsung/Makefile           |    3 ++
   arch/arm/plat-samsung/include/plat/cpu.h |   61
-------------------------
   14 files changed, 119 insertions(+), 113 deletions(-)
Quoted 8 lines
Quoted 3 lines

For the whole series:

Kukjin,

Can you please apply the first 4 patches in this series for now?

Yes, I've applied the first 4 patches just now and I need to look at the 5/6 patch...

Thanks,
Kukjin