* [PATCH v3 00/10] ARM: exynos multiplatform series, part 1
@ 2013-04-11 21:37 Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 01/10] ARM: exynos: introduce EXYNOS_ATAGS symbol Arnd Bergmann
` (11 more replies)
0 siblings, 12 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-11 21:37 UTC (permalink / raw)
To: linux-arm-kernel
Hi Kukjin,
These are the patches that I would like to apply directly to
the arm-soc next/multiplatform branch, unless you have any
objections. This would get all the simple stuff out of the
way, and I don't think there is a big risk of introducing
regressions with these.
A lot of the other patches have already been merged into
subsystem trees. After this series in in arm-soc, what is
left comes down to
* The ASoC conversion to dmaengine won't make it unless someone
who knows that code better steps up to do it right away. This
means that we won't have audio in a 3.10 multiplatform kernel
on Exynos, but it will still work for users that don't enable
multiplatform.
* The irqchip (combiner), clk and clksource patches are all based
on top of other changesets we pulled in from your trees, so I
would not make them part of the next/multiplatform branch. We can
apply them on top of the next/drivers branch once they are
tested successfully.
* A trivial patch is needed in the end to actually make
CONFIG_ARCH_EXYNOS visible in multiplatform configurations.
We will do that as a separate patch once everything else is
there.
Please provide an ACK so I can put this into arm-soc, or let
me know if I screwed up somewhere.
Arnd
Arnd Bergmann (10):
ARM: exynos: introduce EXYNOS_ATAGS symbol
ARM: exynos: prepare for sparse IRQ
ARM: exynos: move debug-macro.S to include/debug/
ARM: samsung: move mfc device definition to s5p-dev-mfc.c
i2c: s3c2410: make header file local
mmc: sdhci-s3c: remove platform dependencies
thermal/exynos: remove unnecessary header inclusions
mtd: onenand/samsung: make regs-onenand.h file local
rtc: s3c: make header file local
ARM: exynos: enable multiplatform support
arch/arm/Kconfig | 9 +---
arch/arm/Kconfig.debug | 8 ++++
arch/arm/configs/exynos4_defconfig | 2 +-
.../mach/debug-macro.S => include/debug/exynos.S} | 12 ++---
.../plat/debug-macro.S => include/debug/samsung.S} | 2 +-
arch/arm/mach-exynos/Kconfig | 41 ++++++++++++++--
arch/arm/mach-exynos/Makefile | 5 +-
arch/arm/mach-exynos/common.c | 6 +++
arch/arm/mach-exynos/dev-uart.c | 1 +
arch/arm/mach-exynos/include/mach/irqs.h | 5 +-
arch/arm/mach-exynos/mach-armlex4210.c | 2 +
arch/arm/mach-exynos/mach-exynos4-dt.c | 2 +
arch/arm/mach-exynos/mach-exynos5-dt.c | 2 +
arch/arm/mach-exynos/mach-nuri.c | 2 +
arch/arm/mach-exynos/mach-origen.c | 2 +
arch/arm/mach-exynos/mach-smdk4x12.c | 2 +
arch/arm/mach-exynos/mach-smdkv310.c | 3 ++
arch/arm/mach-exynos/setup-sdhci-gpio.c | 2 +-
arch/arm/mach-s3c24xx/include/mach/debug-macro.S | 2 +-
arch/arm/mach-s3c24xx/mach-rx1950.c | 1 -
arch/arm/mach-s3c64xx/include/mach/debug-macro.S | 2 +-
arch/arm/mach-s5p64x0/include/mach/debug-macro.S | 2 +-
arch/arm/mach-s5pc100/include/mach/debug-macro.S | 2 +-
arch/arm/mach-s5pc100/setup-sdhci-gpio.c | 1 -
arch/arm/mach-s5pv210/include/mach/debug-macro.S | 2 +-
arch/arm/mach-s5pv210/setup-sdhci-gpio.c | 1 -
arch/arm/plat-samsung/Kconfig | 7 ++-
arch/arm/plat-samsung/Makefile | 8 +++-
arch/arm/plat-samsung/devs.c | 46 ------------------
arch/arm/plat-samsung/include/plat/pm.h | 5 ++
arch/arm/plat-samsung/include/plat/sdhci.h | 56 +---------------------
arch/arm/plat-samsung/irq-vic-timer.c | 1 +
arch/arm/plat-samsung/pm.c | 1 +
arch/arm/plat-samsung/s5p-dev-mfc.c | 42 +++++++++++++++-
arch/arm/plat-samsung/s5p-irq.c | 1 +
drivers/gpio/Makefile | 2 +-
drivers/i2c/busses/i2c-s3c2410.c | 3 +-
.../regs-iic.h => drivers/i2c/busses/i2c-s3c2410.h | 0
drivers/mmc/host/Kconfig | 2 +-
.../mmc/host/sdhci-s3c-regs.h | 0
drivers/mmc/host/sdhci-s3c.c | 5 +-
drivers/mtd/onenand/samsung.c | 4 +-
.../mtd/onenand/samsung.h | 2 -
drivers/rtc/rtc-s3c.c | 3 +-
.../plat/regs-rtc.h => drivers/rtc/rtc-s3c.h | 3 +-
drivers/thermal/exynos_thermal.c | 2 -
include/linux/platform_data/mmc-sdhci-s3c.h | 56 ++++++++++++++++++++++
47 files changed, 217 insertions(+), 153 deletions(-)
rename arch/arm/{mach-exynos/include/mach/debug-macro.S => include/debug/exynos.S} (84%)
rename arch/arm/{plat-samsung/include/plat/debug-macro.S => include/debug/samsung.S} (98%)
rename arch/arm/plat-samsung/include/plat/regs-iic.h => drivers/i2c/busses/i2c-s3c2410.h (100%)
rename arch/arm/plat-samsung/include/plat/regs-sdhci.h => drivers/mmc/host/sdhci-s3c-regs.h (100%)
rename arch/arm/plat-samsung/include/plat/regs-onenand.h => drivers/mtd/onenand/samsung.h (98%)
rename arch/arm/plat-samsung/include/plat/regs-rtc.h => drivers/rtc/rtc-s3c.h (97%)
create mode 100644 include/linux/platform_data/mmc-sdhci-s3c.h
--
1.8.1.2
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 01/10] ARM: exynos: introduce EXYNOS_ATAGS symbol
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
@ 2013-04-11 21:37 ` Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 02/10] ARM: exynos: prepare for sparse IRQ Arnd Bergmann
` (10 subsequent siblings)
11 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-11 21:37 UTC (permalink / raw)
To: linux-arm-kernel
As a preparation for multiplatform support, this introduces
a new Kconfig symbol to split the ATAGS based EXYNOS platforms
from the DT based ones. Turning off CONFIG_EXYNOS_ATAGS disables
all platforms that are not yet converted to DT, and we can
have code that relies on DT checking for this symbol being
disabled.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-exynos/Kconfig | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 70f94c8..33e2336 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -85,6 +85,19 @@ config EXYNOS4_MCT
help
Use MCT (Multi Core Timer) as kernel timers
+config EXYNOS_ATAGS
+ bool "ATAGS based boot for EXYNOS (deprecated)"
+ depends on ARCH_EXYNOS_SINGLE
+ depends on ATAGS
+ default y
+ help
+ The EXYNOS platform is moving towards being completely probed
+ through device tree. This enables support for board files using
+ the traditional ATAGS boot format.
+ Note that this option is not available for multiplatform builds.
+
+if EXYNOS_ATAGS
+
config EXYNOS_DEV_DMA
bool
help
@@ -400,6 +413,8 @@ config MACH_SMDK4412
Machine support for Samsung SMDK4412
endif
+endif
+
comment "Flattened Device Tree based board for EXYNOS SoCs"
config MACH_EXYNOS4_DT
--
1.8.1.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v3 02/10] ARM: exynos: prepare for sparse IRQ
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 01/10] ARM: exynos: introduce EXYNOS_ATAGS symbol Arnd Bergmann
@ 2013-04-11 21:37 ` Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 03/10] ARM: exynos: move debug-macro.S to include/debug/ Arnd Bergmann
` (9 subsequent siblings)
11 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-11 21:37 UTC (permalink / raw)
To: linux-arm-kernel
When we enable CONFIG_SPARSE_IRQ, we have to set the value of NR_IRQS in
the machine_desc for legacy IRQ domains, and any file referring to the
number of interrupts or a specific number must include the mach/irqs.h
header file explicitly.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/mach-exynos/dev-uart.c | 1 +
arch/arm/mach-exynos/include/mach/irqs.h | 5 ++++-
arch/arm/mach-exynos/mach-armlex4210.c | 2 ++
arch/arm/mach-exynos/mach-exynos4-dt.c | 2 ++
arch/arm/mach-exynos/mach-exynos5-dt.c | 2 ++
arch/arm/mach-exynos/mach-nuri.c | 2 ++
arch/arm/mach-exynos/mach-origen.c | 2 ++
arch/arm/mach-exynos/mach-smdk4x12.c | 2 ++
arch/arm/mach-exynos/mach-smdkv310.c | 3 +++
arch/arm/plat-samsung/irq-vic-timer.c | 1 +
arch/arm/plat-samsung/pm.c | 1 +
arch/arm/plat-samsung/s5p-irq.c | 1 +
12 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-exynos/dev-uart.c b/arch/arm/mach-exynos/dev-uart.c
index 7c42f4b..c48aff0 100644
--- a/arch/arm/mach-exynos/dev-uart.c
+++ b/arch/arm/mach-exynos/dev-uart.c
@@ -20,6 +20,7 @@
#include <asm/mach/irq.h>
#include <mach/hardware.h>
#include <mach/map.h>
+#include <mach/irqs.h>
#include <plat/devs.h>
diff --git a/arch/arm/mach-exynos/include/mach/irqs.h b/arch/arm/mach-exynos/include/mach/irqs.h
index 1f4dc35..8bd5dde 100644
--- a/arch/arm/mach-exynos/include/mach/irqs.h
+++ b/arch/arm/mach-exynos/include/mach/irqs.h
@@ -466,7 +466,10 @@
#define IRQ_TIMER_BASE (IRQ_GPIO_END + 64)
/* Set the default NR_IRQS */
+#define EXYNOS_NR_IRQS (IRQ_TIMER_BASE + IRQ_TIMER_COUNT)
-#define NR_IRQS (IRQ_TIMER_BASE + IRQ_TIMER_COUNT)
+#ifndef CONFIG_SPARSE_IRQ
+#define NR_IRQS EXYNOS_NR_IRQS
+#endif
#endif /* __ASM_ARCH_IRQS_H */
diff --git a/arch/arm/mach-exynos/mach-armlex4210.c b/arch/arm/mach-exynos/mach-armlex4210.c
index 685f291..cb95992 100644
--- a/arch/arm/mach-exynos/mach-armlex4210.c
+++ b/arch/arm/mach-exynos/mach-armlex4210.c
@@ -25,6 +25,7 @@
#include <plat/regs-srom.h>
#include <plat/sdhci.h>
+#include <mach/irqs.h>
#include <mach/map.h>
#include "common.h"
@@ -197,6 +198,7 @@ static void __init armlex4210_machine_init(void)
MACHINE_START(ARMLEX4210, "ARMLEX4210")
/* Maintainer: Alim Akhtar <alim.akhtar@samsung.com> */
.atag_offset = 0x100,
+ .nr_irqs = EXYNOS_NR_IRQS,
.smp = smp_ops(exynos_smp_ops),
.init_irq = exynos4_init_irq,
.map_io = armlex4210_map_io,
diff --git a/arch/arm/mach-exynos/mach-exynos4-dt.c b/arch/arm/mach-exynos/mach-exynos4-dt.c
index 3358088..55aa611 100644
--- a/arch/arm/mach-exynos/mach-exynos4-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos4-dt.c
@@ -16,6 +16,7 @@
#include <asm/mach/arch.h>
#include <mach/map.h>
+#include <mach/irqs.h>
#include <plat/cpu.h>
#include <plat/regs-serial.h>
@@ -137,6 +138,7 @@ static char const *exynos4_dt_compat[] __initdata = {
DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)")
/* Maintainer: Thomas Abraham <thomas.abraham@linaro.org> */
+ .nr_irqs = EXYNOS_NR_IRQS,
.smp = smp_ops(exynos_smp_ops),
.init_irq = exynos4_init_irq,
.map_io = exynos4_dt_map_io,
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index acaeb14..c674e7f 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -17,6 +17,7 @@
#include <asm/mach/arch.h>
#include <mach/map.h>
+#include <mach/irqs.h>
#include <mach/regs-pmu.h>
#include <plat/cpu.h>
@@ -211,6 +212,7 @@ static void __init exynos5_reserve(void)
DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)")
/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
+ .nr_irqs = EXYNOS_NR_IRQS,
.init_irq = exynos5_init_irq,
.smp = smp_ops(exynos_smp_ops),
.map_io = exynos5_dt_map_io,
diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c
index 1ea7973..fee0885 100644
--- a/arch/arm/mach-exynos/mach-nuri.c
+++ b/arch/arm/mach-exynos/mach-nuri.c
@@ -53,6 +53,7 @@
#include <plat/fimc-core.h>
#include <plat/camport.h>
+#include <mach/irqs.h>
#include <mach/map.h>
#include "common.h"
@@ -1375,6 +1376,7 @@ static void __init nuri_machine_init(void)
MACHINE_START(NURI, "NURI")
/* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */
.atag_offset = 0x100,
+ .nr_irqs = EXYNOS_NR_IRQS,
.smp = smp_ops(exynos_smp_ops),
.init_irq = exynos4_init_irq,
.map_io = nuri_map_io,
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c
index 579d2d1..d1849d1 100644
--- a/arch/arm/mach-exynos/mach-origen.c
+++ b/arch/arm/mach-exynos/mach-origen.c
@@ -46,6 +46,7 @@
#include <plat/hdmi.h>
#include <mach/map.h>
+#include <mach/irqs.h>
#include <drm/exynos_drm.h>
#include "common.h"
@@ -810,6 +811,7 @@ static void __init origen_machine_init(void)
MACHINE_START(ORIGEN, "ORIGEN")
/* Maintainer: JeongHyeon Kim <jhkim@insignal.co.kr> */
.atag_offset = 0x100,
+ .nr_irqs = EXYNOS_NR_IRQS,
.smp = smp_ops(exynos_smp_ops),
.init_irq = exynos4_init_irq,
.map_io = origen_map_io,
diff --git a/arch/arm/mach-exynos/mach-smdk4x12.c b/arch/arm/mach-exynos/mach-smdk4x12.c
index fe61496..46c7fc7 100644
--- a/arch/arm/mach-exynos/mach-smdk4x12.c
+++ b/arch/arm/mach-exynos/mach-smdk4x12.c
@@ -39,6 +39,7 @@
#include <plat/regs-serial.h>
#include <plat/sdhci.h>
+#include <mach/irqs.h>
#include <mach/map.h>
#include <drm/exynos_drm.h>
@@ -385,6 +386,7 @@ MACHINE_START(SMDK4412, "SMDK4412")
/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
/* Maintainer: Changhwan Youn <chaos.youn@samsung.com> */
.atag_offset = 0x100,
+ .nr_irqs = EXYNOS_NR_IRQS,
.smp = smp_ops(exynos_smp_ops),
.init_irq = exynos4_init_irq,
.map_io = smdk4x12_map_io,
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c
index d716729..5187687 100644
--- a/arch/arm/mach-exynos/mach-smdkv310.c
+++ b/arch/arm/mach-exynos/mach-smdkv310.c
@@ -43,6 +43,7 @@
#include <plat/clock.h>
#include <plat/hdmi.h>
+#include <mach/irqs.h>
#include <mach/map.h>
#include <drm/exynos_drm.h>
@@ -419,6 +420,7 @@ MACHINE_START(SMDKV310, "SMDKV310")
/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
/* Maintainer: Changhwan Youn <chaos.youn@samsung.com> */
.atag_offset = 0x100,
+ .nr_irqs = EXYNOS_NR_IRQS,
.smp = smp_ops(exynos_smp_ops),
.init_irq = exynos4_init_irq,
.map_io = smdkv310_map_io,
@@ -431,6 +433,7 @@ MACHINE_END
MACHINE_START(SMDKC210, "SMDKC210")
/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
.atag_offset = 0x100,
+ .nr_irqs = EXYNOS_NR_IRQS,
.smp = smp_ops(exynos_smp_ops),
.init_irq = exynos4_init_irq,
.map_io = smdkv310_map_io,
diff --git a/arch/arm/plat-samsung/irq-vic-timer.c b/arch/arm/plat-samsung/irq-vic-timer.c
index f980cf3..1113066 100644
--- a/arch/arm/plat-samsung/irq-vic-timer.c
+++ b/arch/arm/plat-samsung/irq-vic-timer.c
@@ -19,6 +19,7 @@
#include <linux/io.h>
#include <mach/map.h>
+#include <mach/irqs.h>
#include <plat/cpu.h>
#include <plat/irq-vic-timer.h>
#include <plat/regs-timer.h>
diff --git a/arch/arm/plat-samsung/pm.c b/arch/arm/plat-samsung/pm.c
index 002b147..53210ec 100644
--- a/arch/arm/plat-samsung/pm.c
+++ b/arch/arm/plat-samsung/pm.c
@@ -27,6 +27,7 @@
#include <plat/regs-serial.h>
#include <mach/regs-clock.h>
#include <mach/regs-irq.h>
+#include <mach/irqs.h>
#include <asm/irq.h>
#include <plat/pm.h>
diff --git a/arch/arm/plat-samsung/s5p-irq.c b/arch/arm/plat-samsung/s5p-irq.c
index 103e371..ff1a760 100644
--- a/arch/arm/plat-samsung/s5p-irq.c
+++ b/arch/arm/plat-samsung/s5p-irq.c
@@ -15,6 +15,7 @@
#include <linux/io.h>
#include <linux/irqchip/arm-vic.h>
+#include <mach/irqs.h>
#include <mach/map.h>
#include <plat/regs-timer.h>
#include <plat/cpu.h>
--
1.8.1.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v3 03/10] ARM: exynos: move debug-macro.S to include/debug/
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 01/10] ARM: exynos: introduce EXYNOS_ATAGS symbol Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 02/10] ARM: exynos: prepare for sparse IRQ Arnd Bergmann
@ 2013-04-11 21:37 ` Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 04/10] ARM: samsung: move mfc device definition to s5p-dev-mfc.c Arnd Bergmann
` (8 subsequent siblings)
11 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-11 21:37 UTC (permalink / raw)
To: linux-arm-kernel
The move is necessary to support early debug output on exynos
with multiplatform configurations. This implies also moving the
plat/debug-macro.S file, but we are leaving the remaining users of that
file in place, to avoid adding large numbers of extra configuration
options to Kconfig.debug
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/Kconfig.debug | 8 ++++++++
.../include/mach/debug-macro.S => include/debug/exynos.S} | 12 ++++++------
.../include/plat/debug-macro.S => include/debug/samsung.S} | 2 +-
arch/arm/mach-s3c24xx/include/mach/debug-macro.S | 2 +-
arch/arm/mach-s3c64xx/include/mach/debug-macro.S | 2 +-
arch/arm/mach-s5p64x0/include/mach/debug-macro.S | 2 +-
arch/arm/mach-s5pc100/include/mach/debug-macro.S | 2 +-
arch/arm/mach-s5pv210/include/mach/debug-macro.S | 2 +-
8 files changed, 20 insertions(+), 12 deletions(-)
rename arch/arm/{mach-exynos/include/mach/debug-macro.S => include/debug/exynos.S} (84%)
rename arch/arm/{plat-samsung/include/plat/debug-macro.S => include/debug/samsung.S} (98%)
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 9b31f43..59ce26a 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -330,6 +330,7 @@ choice
config DEBUG_S3C_UART0
depends on PLAT_SAMSUNG
+ select DEBUG_EXYNOS_UART if ARCH_EXYNOS
bool "Use S3C UART 0 for low-level debug"
help
Say Y here if you want the debug print routines to direct
@@ -341,6 +342,7 @@ choice
config DEBUG_S3C_UART1
depends on PLAT_SAMSUNG
+ select DEBUG_EXYNOS_UART if ARCH_EXYNOS
bool "Use S3C UART 1 for low-level debug"
help
Say Y here if you want the debug print routines to direct
@@ -352,6 +354,7 @@ choice
config DEBUG_S3C_UART2
depends on PLAT_SAMSUNG
+ select DEBUG_EXYNOS_UART if ARCH_EXYNOS
bool "Use S3C UART 2 for low-level debug"
help
Say Y here if you want the debug print routines to direct
@@ -363,6 +366,7 @@ choice
config DEBUG_S3C_UART3
depends on PLAT_SAMSUNG && ARCH_EXYNOS
+ select DEBUG_EXYNOS_UART
bool "Use S3C UART 3 for low-level debug"
help
Say Y here if you want the debug print routines to direct
@@ -485,6 +489,9 @@ choice
endchoice
+config DEBUG_EXYNOS_UART
+ bool
+
config DEBUG_IMX_UART_PORT
int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
DEBUG_IMX25_UART || \
@@ -580,6 +587,7 @@ endchoice
config DEBUG_LL_INCLUDE
string
+ default "debug/exynos.S" if DEBUG_EXYNOS_UART
default "debug/icedcc.S" if DEBUG_ICEDCC
default "debug/imx.S" if DEBUG_IMX1_UART || \
DEBUG_IMX25_UART || \
diff --git a/arch/arm/mach-exynos/include/mach/debug-macro.S b/arch/arm/include/debug/exynos.S
similarity index 84%
rename from arch/arm/mach-exynos/include/mach/debug-macro.S
rename to arch/arm/include/debug/exynos.S
index e0c86ea..b17fdb7 100644
--- a/arch/arm/mach-exynos/include/mach/debug-macro.S
+++ b/arch/arm/include/debug/exynos.S
@@ -1,10 +1,7 @@
-/* linux/arch/arm/mach-exynos4/include/mach/debug-macro.S
- *
+/*
* Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
- * Based on arch/arm/mach-s3c6400/include/mach/debug-macro.S
- *
* 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.
@@ -12,7 +9,10 @@
/* pull in the relevant register and map files. */
-#include <mach/map.h>
+#define S3C_ADDR_BASE 0xF6000000
+#define S3C_VA_UART S3C_ADDR_BASE + 0x01000000
+#define EXYNOS4_PA_UART 0x13800000
+#define EXYNOS5_PA_UART 0x12C00000
/* note, for the boot process to work we have to keep the UART
* virtual address aligned to an 1MiB boundary for the L1
@@ -36,4 +36,4 @@
#define fifo_full fifo_full_s5pv210
#define fifo_level fifo_level_s5pv210
-#include <plat/debug-macro.S>
+#include <debug/samsung.S>
diff --git a/arch/arm/plat-samsung/include/plat/debug-macro.S b/arch/arm/include/debug/samsung.S
similarity index 98%
rename from arch/arm/plat-samsung/include/plat/debug-macro.S
rename to arch/arm/include/debug/samsung.S
index f3a9cff..8d8d922 100644
--- a/arch/arm/plat-samsung/include/plat/debug-macro.S
+++ b/arch/arm/include/debug/samsung.S
@@ -9,7 +9,7 @@
* published by the Free Software Foundation.
*/
-#include <plat/regs-serial.h>
+#include <linux/serial_s3c.h>
/* The S5PV210/S5PC110 implementations are as belows. */
diff --git a/arch/arm/mach-s3c24xx/include/mach/debug-macro.S b/arch/arm/mach-s3c24xx/include/mach/debug-macro.S
index 13ed33c..2558952 100644
--- a/arch/arm/mach-s3c24xx/include/mach/debug-macro.S
+++ b/arch/arm/mach-s3c24xx/include/mach/debug-macro.S
@@ -98,4 +98,4 @@
/* include the reset of the code which will do the work */
-#include <plat/debug-macro.S>
+#include <debug/samsung.S>
diff --git a/arch/arm/mach-s3c64xx/include/mach/debug-macro.S b/arch/arm/mach-s3c64xx/include/mach/debug-macro.S
index c0c076a..dd9ccca 100644
--- a/arch/arm/mach-s3c64xx/include/mach/debug-macro.S
+++ b/arch/arm/mach-s3c64xx/include/mach/debug-macro.S
@@ -35,4 +35,4 @@
* will be fine with us.
*/
-#include <plat/debug-macro.S>
+#include <debug/samsung.S>
diff --git a/arch/arm/mach-s5p64x0/include/mach/debug-macro.S b/arch/arm/mach-s5p64x0/include/mach/debug-macro.S
index e80ba3c..5e2916f 100644
--- a/arch/arm/mach-s5p64x0/include/mach/debug-macro.S
+++ b/arch/arm/mach-s5p64x0/include/mach/debug-macro.S
@@ -30,4 +30,4 @@
#endif
.endm
-#include <plat/debug-macro.S>
+#include <debug/samsung.S>
diff --git a/arch/arm/mach-s5pc100/include/mach/debug-macro.S b/arch/arm/mach-s5pc100/include/mach/debug-macro.S
index 694f759..66cb7f1 100644
--- a/arch/arm/mach-s5pc100/include/mach/debug-macro.S
+++ b/arch/arm/mach-s5pc100/include/mach/debug-macro.S
@@ -36,4 +36,4 @@
* will be fine with us.
*/
-#include <plat/debug-macro.S>
+#include <debug/samsung.S>
diff --git a/arch/arm/mach-s5pv210/include/mach/debug-macro.S b/arch/arm/mach-s5pv210/include/mach/debug-macro.S
index 79e5559..80c2199 100644
--- a/arch/arm/mach-s5pv210/include/mach/debug-macro.S
+++ b/arch/arm/mach-s5pv210/include/mach/debug-macro.S
@@ -38,4 +38,4 @@
* will be fine with us.
*/
-#include <plat/debug-macro.S>
+#include <debug/samsung.S>
--
1.8.1.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v3 04/10] ARM: samsung: move mfc device definition to s5p-dev-mfc.c
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
` (2 preceding siblings ...)
2013-04-11 21:37 ` [PATCH v3 03/10] ARM: exynos: move debug-macro.S to include/debug/ Arnd Bergmann
@ 2013-04-11 21:37 ` Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 05/10] i2c: s3c2410: make header file local Arnd Bergmann
` (7 subsequent siblings)
11 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-11 21:37 UTC (permalink / raw)
To: linux-arm-kernel
For a DT-only build we don't want to compile devs.c, but we do need
the mfc device, which is also referenced by the DT based platforms,
so move it all into one place.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/plat-samsung/devs.c | 45 -------------------------------------
arch/arm/plat-samsung/s5p-dev-mfc.c | 42 +++++++++++++++++++++++++++++++++-
2 files changed, 41 insertions(+), 46 deletions(-)
diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c
index 51afedd..de9ad27 100644
--- a/arch/arm/plat-samsung/devs.c
+++ b/arch/arm/plat-samsung/devs.c
@@ -878,51 +878,6 @@ void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd)
}
#endif /* CONFIG_PLAT_S3C24XX */
-/* MFC */
-
-#ifdef CONFIG_S5P_DEV_MFC
-static struct resource s5p_mfc_resource[] = {
- [0] = DEFINE_RES_MEM(S5P_PA_MFC, SZ_64K),
- [1] = DEFINE_RES_IRQ(IRQ_MFC),
-};
-
-struct platform_device s5p_device_mfc = {
- .name = "s5p-mfc",
- .id = -1,
- .num_resources = ARRAY_SIZE(s5p_mfc_resource),
- .resource = s5p_mfc_resource,
-};
-
-/*
- * MFC hardware has 2 memory interfaces which are modelled as two separate
- * platform devices to let dma-mapping distinguish between them.
- *
- * MFC parent device (s5p_device_mfc) must be registered before memory
- * interface specific devices (s5p_device_mfc_l and s5p_device_mfc_r).
- */
-
-struct platform_device s5p_device_mfc_l = {
- .name = "s5p-mfc-l",
- .id = -1,
- .dev = {
- .parent = &s5p_device_mfc.dev,
- .dma_mask = &samsung_device_dma_mask,
- .coherent_dma_mask = DMA_BIT_MASK(32),
- },
-};
-
-struct platform_device s5p_device_mfc_r = {
- .name = "s5p-mfc-r",
- .id = -1,
- .dev = {
- .parent = &s5p_device_mfc.dev,
- .dma_mask = &samsung_device_dma_mask,
- .coherent_dma_mask = DMA_BIT_MASK(32),
- },
-};
-
-#endif /* CONFIG_S5P_DEV_MFC */
-
/* MIPI CSIS */
#ifdef CONFIG_S5P_DEV_CSIS0
diff --git a/arch/arm/plat-samsung/s5p-dev-mfc.c b/arch/arm/plat-samsung/s5p-dev-mfc.c
index 5ec104b..a93fb6f 100644
--- a/arch/arm/plat-samsung/s5p-dev-mfc.c
+++ b/arch/arm/plat-samsung/s5p-dev-mfc.c
@@ -18,10 +18,50 @@
#include <linux/of.h>
#include <mach/map.h>
+#include <mach/irqs.h>
#include <plat/devs.h>
-#include <plat/irqs.h>
#include <plat/mfc.h>
+static struct resource s5p_mfc_resource[] = {
+ [0] = DEFINE_RES_MEM(S5P_PA_MFC, SZ_64K),
+ [1] = DEFINE_RES_IRQ(IRQ_MFC),
+};
+
+struct platform_device s5p_device_mfc = {
+ .name = "s5p-mfc",
+ .id = -1,
+ .num_resources = ARRAY_SIZE(s5p_mfc_resource),
+ .resource = s5p_mfc_resource,
+};
+
+/*
+ * MFC hardware has 2 memory interfaces which are modelled as two separate
+ * platform devices to let dma-mapping distinguish between them.
+ *
+ * MFC parent device (s5p_device_mfc) must be registered before memory
+ * interface specific devices (s5p_device_mfc_l and s5p_device_mfc_r).
+ */
+
+struct platform_device s5p_device_mfc_l = {
+ .name = "s5p-mfc-l",
+ .id = -1,
+ .dev = {
+ .parent = &s5p_device_mfc.dev,
+ .dma_mask = &s5p_device_mfc_l.dev.coherent_dma_mask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ },
+};
+
+struct platform_device s5p_device_mfc_r = {
+ .name = "s5p-mfc-r",
+ .id = -1,
+ .dev = {
+ .parent = &s5p_device_mfc.dev,
+ .dma_mask = &s5p_device_mfc_r.dev.coherent_dma_mask,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
+ },
+};
+
struct s5p_mfc_reserved_mem {
phys_addr_t base;
unsigned long size;
--
1.8.1.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v3 05/10] i2c: s3c2410: make header file local
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
` (3 preceding siblings ...)
2013-04-11 21:37 ` [PATCH v3 04/10] ARM: samsung: move mfc device definition to s5p-dev-mfc.c Arnd Bergmann
@ 2013-04-11 21:37 ` Arnd Bergmann
2013-04-11 21:43 ` Heiko Stübner
2013-04-11 21:37 ` [PATCH v3 06/10] mmc: sdhci-s3c: remove platform dependencies Arnd Bergmann
` (6 subsequent siblings)
11 siblings, 1 reply; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-11 21:37 UTC (permalink / raw)
To: linux-arm-kernel
No other file in the kernel besides i2c-s3c2410.c uses the current
plat/regs-iic.h, so we can simply move the header file to live in the
same directory as the driver, as a preparation to multiplatform builds.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: linux-i2c at vger.kernel.org
Cc: Wolfram Sang <wsa@the-dreams.de>
Cc: Ben Dooks <ben-linux@fluff.org>
---
arch/arm/mach-s3c24xx/mach-rx1950.c | 1 -
arch/arm/plat-samsung/devs.c | 1 -
drivers/i2c/busses/i2c-s3c2410.c | 3 ++-
.../include/plat/regs-iic.h => drivers/i2c/busses/i2c-s3c2410.h | 0
4 files changed, 2 insertions(+), 3 deletions(-)
rename arch/arm/plat-samsung/include/plat/regs-iic.h => drivers/i2c/busses/i2c-s3c2410.h (100%)
diff --git a/arch/arm/mach-s3c24xx/mach-rx1950.c b/arch/arm/mach-s3c24xx/mach-rx1950.c
index 1f9ba2a..43f3ac5 100644
--- a/arch/arm/mach-s3c24xx/mach-rx1950.c
+++ b/arch/arm/mach-s3c24xx/mach-rx1950.c
@@ -56,7 +56,6 @@
#include <plat/cpu.h>
#include <plat/devs.h>
#include <plat/pm.h>
-#include <plat/regs-iic.h>
#include <plat/regs-serial.h>
#include "common.h"
diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c
index de9ad27..5e37051 100644
--- a/arch/arm/plat-samsung/devs.c
+++ b/arch/arm/plat-samsung/devs.c
@@ -62,7 +62,6 @@
#include <linux/platform_data/usb-s3c2410_udc.h>
#include <linux/platform_data/usb-ohci-s3c2410.h>
#include <plat/usb-phy.h>
-#include <plat/regs-iic.h>
#include <plat/regs-serial.h>
#include <plat/regs-spi.h>
#include <linux/platform_data/spi-s3c64xx.h>
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index f6b880b..d042ad0 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -42,9 +42,10 @@
#include <asm/irq.h>
-#include <plat/regs-iic.h>
#include <linux/platform_data/i2c-s3c2410.h>
+#include "i2c-s3c2410.h"
+
/* Treat S3C2410 as baseline hardware, anything else is supported via quirks */
#define QUIRK_S3C2440 (1 << 0)
#define QUIRK_HDMIPHY (1 << 1)
diff --git a/arch/arm/plat-samsung/include/plat/regs-iic.h b/drivers/i2c/busses/i2c-s3c2410.h
similarity index 100%
rename from arch/arm/plat-samsung/include/plat/regs-iic.h
rename to drivers/i2c/busses/i2c-s3c2410.h
--
1.8.1.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v3 06/10] mmc: sdhci-s3c: remove platform dependencies
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
` (4 preceding siblings ...)
2013-04-11 21:37 ` [PATCH v3 05/10] i2c: s3c2410: make header file local Arnd Bergmann
@ 2013-04-11 21:37 ` Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 07/10] thermal/exynos: remove unnecessary header inclusions Arnd Bergmann
` (5 subsequent siblings)
11 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-11 21:37 UTC (permalink / raw)
To: linux-arm-kernel
plat/regs-sdhci.h is not used anywhere but in the sdhci-s3c
driver, so it can become a local file there and all other
inclusions removed.
plat/sdhci.h is used only to define the platform devices,
and with the exception of the platform_data structure not
needed by the driver, so we can split out the platform_data
definition instead and leave the rest to platform code.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Chris Ball <cjb@laptop.org>
---
arch/arm/mach-exynos/setup-sdhci-gpio.c | 2 +-
arch/arm/mach-s5pc100/setup-sdhci-gpio.c | 1 -
arch/arm/mach-s5pv210/setup-sdhci-gpio.c | 1 -
arch/arm/plat-samsung/include/plat/sdhci.h | 56 +---------------------
drivers/mmc/host/Kconfig | 2 +-
.../mmc/host/sdhci-s3c-regs.h | 0
drivers/mmc/host/sdhci-s3c.c | 5 +-
include/linux/platform_data/mmc-sdhci-s3c.h | 56 ++++++++++++++++++++++
8 files changed, 61 insertions(+), 62 deletions(-)
rename arch/arm/plat-samsung/include/plat/regs-sdhci.h => drivers/mmc/host/sdhci-s3c-regs.h (100%)
create mode 100644 include/linux/platform_data/mmc-sdhci-s3c.h
diff --git a/arch/arm/mach-exynos/setup-sdhci-gpio.c b/arch/arm/mach-exynos/setup-sdhci-gpio.c
index e8d08bf..d5b98c8 100644
--- a/arch/arm/mach-exynos/setup-sdhci-gpio.c
+++ b/arch/arm/mach-exynos/setup-sdhci-gpio.c
@@ -19,8 +19,8 @@
#include <linux/mmc/host.h>
#include <linux/mmc/card.h>
+#include <mach/gpio.h>
#include <plat/gpio-cfg.h>
-#include <plat/regs-sdhci.h>
#include <plat/sdhci.h>
void exynos4_setup_sdhci0_cfg_gpio(struct platform_device *dev, int width)
diff --git a/arch/arm/mach-s5pc100/setup-sdhci-gpio.c b/arch/arm/mach-s5pc100/setup-sdhci-gpio.c
index 03c02d0..6010c03 100644
--- a/arch/arm/mach-s5pc100/setup-sdhci-gpio.c
+++ b/arch/arm/mach-s5pc100/setup-sdhci-gpio.c
@@ -19,7 +19,6 @@
#include <linux/mmc/card.h>
#include <plat/gpio-cfg.h>
-#include <plat/regs-sdhci.h>
#include <plat/sdhci.h>
void s5pc100_setup_sdhci0_cfg_gpio(struct platform_device *dev, int width)
diff --git a/arch/arm/mach-s5pv210/setup-sdhci-gpio.c b/arch/arm/mach-s5pv210/setup-sdhci-gpio.c
index 3e3ac05..0512ada 100644
--- a/arch/arm/mach-s5pv210/setup-sdhci-gpio.c
+++ b/arch/arm/mach-s5pv210/setup-sdhci-gpio.c
@@ -20,7 +20,6 @@
#include <linux/mmc/card.h>
#include <plat/gpio-cfg.h>
-#include <plat/regs-sdhci.h>
#include <plat/sdhci.h>
void s5pv210_setup_sdhci0_cfg_gpio(struct platform_device *dev, int width)
diff --git a/arch/arm/plat-samsung/include/plat/sdhci.h b/arch/arm/plat-samsung/include/plat/sdhci.h
index 9b87f38..1e0aab0 100644
--- a/arch/arm/plat-samsung/include/plat/sdhci.h
+++ b/arch/arm/plat-samsung/include/plat/sdhci.h
@@ -18,62 +18,9 @@
#ifndef __PLAT_S3C_SDHCI_H
#define __PLAT_S3C_SDHCI_H __FILE__
+#include <linux/platform_data/mmc-sdhci-s3c.h>
#include <plat/devs.h>
-struct platform_device;
-struct mmc_host;
-struct mmc_card;
-struct mmc_ios;
-
-enum cd_types {
- S3C_SDHCI_CD_INTERNAL, /* use mmc internal CD line */
- S3C_SDHCI_CD_EXTERNAL, /* use external callback */
- S3C_SDHCI_CD_GPIO, /* use external gpio pin for CD line */
- S3C_SDHCI_CD_NONE, /* no CD line, use polling to detect card */
- S3C_SDHCI_CD_PERMANENT, /* no CD line, card permanently wired to host */
-};
-
-/**
- * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI
- * @max_width: The maximum number of data bits supported.
- * @host_caps: Standard MMC host capabilities bit field.
- * @host_caps2: The second standard MMC host capabilities bit field.
- * @cd_type: Type of Card Detection method (see cd_types enum above)
- * @ext_cd_init: Initialize external card detect subsystem. Called on
- * sdhci-s3c driver probe when cd_type == S3C_SDHCI_CD_EXTERNAL.
- * notify_func argument is a callback to the sdhci-s3c driver
- * that triggers the card detection event. Callback arguments:
- * dev is pointer to platform device of the host controller,
- * state is new state of the card (0 - removed, 1 - inserted).
- * @ext_cd_cleanup: Cleanup external card detect subsystem. Called on
- * sdhci-s3c driver remove when cd_type == S3C_SDHCI_CD_EXTERNAL.
- * notify_func argument is the same callback as for ext_cd_init.
- * @ext_cd_gpio: gpio pin used for external CD line, valid only if
- * cd_type == S3C_SDHCI_CD_GPIO
- * @ext_cd_gpio_invert: invert values for external CD gpio line
- * @cfg_gpio: Configure the GPIO for a specific card bit-width
- *
- * Initialisation data specific to either the machine or the platform
- * for the device driver to use or call-back when configuring gpio or
- * card speed information.
-*/
-struct s3c_sdhci_platdata {
- unsigned int max_width;
- unsigned int host_caps;
- unsigned int host_caps2;
- unsigned int pm_caps;
- enum cd_types cd_type;
-
- int ext_cd_gpio;
- bool ext_cd_gpio_invert;
- int (*ext_cd_init)(void (*notify_func)(struct platform_device *,
- int state));
- int (*ext_cd_cleanup)(void (*notify_func)(struct platform_device *,
- int state));
-
- void (*cfg_gpio)(struct platform_device *dev, int width);
-};
-
/* s3c_sdhci_set_platdata() - common helper for setting SDHCI platform data
* @pd: The default platform data for this device.
* @set: Pointer to the platform data to fill in.
@@ -378,5 +325,4 @@ static inline void s3c_sdhci_setname(int id, char *name)
break;
}
}
-
#endif /* __PLAT_S3C_SDHCI_H */
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index d88219e..d054744 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -180,7 +180,7 @@ config MMC_SDHCI_TEGRA
config MMC_SDHCI_S3C
tristate "SDHCI support on Samsung S3C SoC"
- depends on MMC_SDHCI && PLAT_SAMSUNG
+ depends on MMC_SDHCI && PLAT_SAMSUNG_SINGLE
help
This selects the Secure Digital Host Controller Interface (SDHCI)
often referrered to as the HSMMC block in some of the Samsung S3C
diff --git a/arch/arm/plat-samsung/include/plat/regs-sdhci.h b/drivers/mmc/host/sdhci-s3c-regs.h
similarity index 100%
rename from arch/arm/plat-samsung/include/plat/regs-sdhci.h
rename to drivers/mmc/host/sdhci-s3c-regs.h
diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
index 7363efe..e4f52b5 100644
--- a/drivers/mmc/host/sdhci-s3c.c
+++ b/drivers/mmc/host/sdhci-s3c.c
@@ -15,6 +15,7 @@
#include <linux/delay.h>
#include <linux/dma-mapping.h>
#include <linux/platform_device.h>
+#include <linux/platform_data/mmc-sdhci-s3c.h>
#include <linux/slab.h>
#include <linux/clk.h>
#include <linux/io.h>
@@ -28,9 +29,7 @@
#include <linux/mmc/host.h>
-#include <plat/sdhci.h>
-#include <plat/regs-sdhci.h>
-
+#include "sdhci-s3c-regs.h"
#include "sdhci.h"
#define MAX_BUS_CLK (4)
diff --git a/include/linux/platform_data/mmc-sdhci-s3c.h b/include/linux/platform_data/mmc-sdhci-s3c.h
new file mode 100644
index 0000000..249f023
--- /dev/null
+++ b/include/linux/platform_data/mmc-sdhci-s3c.h
@@ -0,0 +1,56 @@
+#ifndef __PLATFORM_DATA_SDHCI_S3C_H
+#define __PLATFORM_DATA_SDHCI_S3C_H
+
+struct platform_device;
+
+enum cd_types {
+ S3C_SDHCI_CD_INTERNAL, /* use mmc internal CD line */
+ S3C_SDHCI_CD_EXTERNAL, /* use external callback */
+ S3C_SDHCI_CD_GPIO, /* use external gpio pin for CD line */
+ S3C_SDHCI_CD_NONE, /* no CD line, use polling to detect card */
+ S3C_SDHCI_CD_PERMANENT, /* no CD line, card permanently wired to host */
+};
+
+/**
+ * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI
+ * @max_width: The maximum number of data bits supported.
+ * @host_caps: Standard MMC host capabilities bit field.
+ * @host_caps2: The second standard MMC host capabilities bit field.
+ * @cd_type: Type of Card Detection method (see cd_types enum above)
+ * @ext_cd_init: Initialize external card detect subsystem. Called on
+ * sdhci-s3c driver probe when cd_type == S3C_SDHCI_CD_EXTERNAL.
+ * notify_func argument is a callback to the sdhci-s3c driver
+ * that triggers the card detection event. Callback arguments:
+ * dev is pointer to platform device of the host controller,
+ * state is new state of the card (0 - removed, 1 - inserted).
+ * @ext_cd_cleanup: Cleanup external card detect subsystem. Called on
+ * sdhci-s3c driver remove when cd_type == S3C_SDHCI_CD_EXTERNAL.
+ * notify_func argument is the same callback as for ext_cd_init.
+ * @ext_cd_gpio: gpio pin used for external CD line, valid only if
+ * cd_type == S3C_SDHCI_CD_GPIO
+ * @ext_cd_gpio_invert: invert values for external CD gpio line
+ * @cfg_gpio: Configure the GPIO for a specific card bit-width
+ *
+ * Initialisation data specific to either the machine or the platform
+ * for the device driver to use or call-back when configuring gpio or
+ * card speed information.
+*/
+struct s3c_sdhci_platdata {
+ unsigned int max_width;
+ unsigned int host_caps;
+ unsigned int host_caps2;
+ unsigned int pm_caps;
+ enum cd_types cd_type;
+
+ int ext_cd_gpio;
+ bool ext_cd_gpio_invert;
+ int (*ext_cd_init)(void (*notify_func)(struct platform_device *,
+ int state));
+ int (*ext_cd_cleanup)(void (*notify_func)(struct platform_device *,
+ int state));
+
+ void (*cfg_gpio)(struct platform_device *dev, int width);
+};
+
+
+#endif /* __PLATFORM_DATA_SDHCI_S3C_H */
--
1.8.1.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v3 07/10] thermal/exynos: remove unnecessary header inclusions
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
` (5 preceding siblings ...)
2013-04-11 21:37 ` [PATCH v3 06/10] mmc: sdhci-s3c: remove platform dependencies Arnd Bergmann
@ 2013-04-11 21:37 ` Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 08/10] mtd: onenand/samsung: make regs-onenand.h file local Arnd Bergmann
` (4 subsequent siblings)
11 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-11 21:37 UTC (permalink / raw)
To: linux-arm-kernel
In multiplatform configurations, we cannot include headers
provided by only the exynos platform. Fortunately a number
of drivers that include those headers do not actually need
them, so we can just remove the inclusions.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Eduardo Valentin <eduardo.valentin@ti.com>
Cc: Zhang Rui <rui.zhang@intel.com>
---
drivers/thermal/exynos_thermal.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/thermal/exynos_thermal.c b/drivers/thermal/exynos_thermal.c
index 46568c0..b777ae6 100644
--- a/drivers/thermal/exynos_thermal.c
+++ b/drivers/thermal/exynos_thermal.c
@@ -39,8 +39,6 @@
#include <linux/cpu_cooling.h>
#include <linux/of.h>
-#include <plat/cpu.h>
-
/* Exynos generic registers */
#define EXYNOS_TMU_REG_TRIMINFO 0x0
#define EXYNOS_TMU_REG_CONTROL 0x20
--
1.8.1.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v3 08/10] mtd: onenand/samsung: make regs-onenand.h file local
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
` (6 preceding siblings ...)
2013-04-11 21:37 ` [PATCH v3 07/10] thermal/exynos: remove unnecessary header inclusions Arnd Bergmann
@ 2013-04-11 21:37 ` Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 09/10] rtc: s3c: make header " Arnd Bergmann
` (3 subsequent siblings)
11 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-11 21:37 UTC (permalink / raw)
To: linux-arm-kernel
Nothing uses the NAND register definitions other than the
actual driver, so we can move the header file into the
same local directory, which lets us build it in a multiplatform
configuration.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: linux-mtd at lists.infradead.org
Cc: David Woodhouse <dwmw2@infradead.org>
---
drivers/mtd/onenand/samsung.c | 4 ++--
.../include/plat/regs-onenand.h => drivers/mtd/onenand/samsung.h | 2 --
2 files changed, 2 insertions(+), 4 deletions(-)
rename arch/arm/plat-samsung/include/plat/regs-onenand.h => drivers/mtd/onenand/samsung.h (98%)
diff --git a/drivers/mtd/onenand/samsung.c b/drivers/mtd/onenand/samsung.c
index 33f2a8f..2cf7408 100644
--- a/drivers/mtd/onenand/samsung.c
+++ b/drivers/mtd/onenand/samsung.c
@@ -23,11 +23,11 @@
#include <linux/mtd/partitions.h>
#include <linux/dma-mapping.h>
#include <linux/interrupt.h>
+#include <linux/io.h>
#include <asm/mach/flash.h>
-#include <plat/regs-onenand.h>
-#include <linux/io.h>
+#include "samsung.h"
enum soc_type {
TYPE_S3C6400,
diff --git a/arch/arm/plat-samsung/include/plat/regs-onenand.h b/drivers/mtd/onenand/samsung.h
similarity index 98%
rename from arch/arm/plat-samsung/include/plat/regs-onenand.h
rename to drivers/mtd/onenand/samsung.h
index 930ea8b..c4a80e6 100644
--- a/arch/arm/plat-samsung/include/plat/regs-onenand.h
+++ b/drivers/mtd/onenand/samsung.h
@@ -11,8 +11,6 @@
#ifndef __SAMSUNG_ONENAND_H__
#define __SAMSUNG_ONENAND_H__
-#include <mach/hardware.h>
-
/*
* OneNAND Controller
*/
--
1.8.1.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v3 09/10] rtc: s3c: make header file local
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
` (7 preceding siblings ...)
2013-04-11 21:37 ` [PATCH v3 08/10] mtd: onenand/samsung: make regs-onenand.h file local Arnd Bergmann
@ 2013-04-11 21:37 ` Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 10/10] ARM: exynos: enable multiplatform support Arnd Bergmann
` (2 subsequent siblings)
11 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-11 21:37 UTC (permalink / raw)
To: linux-arm-kernel
Nothing outside of the rtc driver includes plat/regs-rtc.h,
so we can simply move the file into the same directory,
which allows us to build the file as platform-independent
code.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: rtc-linux at googlegroups.com
Cc: Alessandro Zummo <a.zummo@towertech.it>
---
drivers/rtc/rtc-s3c.c | 3 +--
arch/arm/plat-samsung/include/plat/regs-rtc.h => drivers/rtc/rtc-s3c.h | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
rename arch/arm/plat-samsung/include/plat/regs-rtc.h => drivers/rtc/rtc-s3c.h (97%)
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index fb994e9..7995f79 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -29,9 +29,8 @@
#include <linux/uaccess.h>
#include <linux/io.h>
-#include <mach/hardware.h>
#include <asm/irq.h>
-#include <plat/regs-rtc.h>
+#include "rtc-s3c.h"
enum s3c_cpu_type {
TYPE_S3C2410,
diff --git a/arch/arm/plat-samsung/include/plat/regs-rtc.h b/drivers/rtc/rtc-s3c.h
similarity index 97%
rename from arch/arm/plat-samsung/include/plat/regs-rtc.h
rename to drivers/rtc/rtc-s3c.h
index 0f8263e..004b61a 100644
--- a/arch/arm/plat-samsung/include/plat/regs-rtc.h
+++ b/drivers/rtc/rtc-s3c.h
@@ -1,5 +1,4 @@
-/* arch/arm/mach-s3c2410/include/mach/regs-rtc.h
- *
+/*
* Copyright (c) 2003 Simtec Electronics <linux@simtec.co.uk>
* http://www.simtec.co.uk/products/SWLINUX/
*
--
1.8.1.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v3 10/10] ARM: exynos: enable multiplatform support
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
` (8 preceding siblings ...)
2013-04-11 21:37 ` [PATCH v3 09/10] rtc: s3c: make header " Arnd Bergmann
@ 2013-04-11 21:37 ` Arnd Bergmann
2013-04-19 13:36 ` [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
2013-04-22 16:44 ` Kukjin Kim
11 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-11 21:37 UTC (permalink / raw)
To: linux-arm-kernel
This makes it possible to enable the exynos platform as part of a
multiplatform kernel, in addition to keeping the single-platform
exynos support.
The multiplatform variant has a number of limitations at the moment:
* It only supports DT-enabled machines. This is not a problem in
the long run, as non-DT machines for exynos are going away.
The main problem here is that the gpio code and the exynos_eint
irqchip are not multiplatform capable but still required for
ATAGS based boot.
* The watchdog driver is still missing a conversion.
* sparsemem and memory_holes are currently not supported in
multiplatform.
The the multiplatform aware ARCH_EXYNOS Kconfig symbol is disabled
for now, as dependent patches are still pending in other
subsystem trees. We will enable it once everything comes together.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/Kconfig | 9 +--------
arch/arm/configs/exynos4_defconfig | 2 +-
arch/arm/mach-exynos/Kconfig | 26 ++++++++++++++++++++++----
arch/arm/mach-exynos/Makefile | 5 +++--
arch/arm/mach-exynos/common.c | 6 ++++++
arch/arm/plat-samsung/Kconfig | 7 ++++++-
arch/arm/plat-samsung/Makefile | 8 ++++++--
arch/arm/plat-samsung/include/plat/pm.h | 5 +++++
drivers/gpio/Makefile | 2 +-
9 files changed, 51 insertions(+), 19 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 13b7394..b375a94 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -853,18 +853,11 @@ config ARCH_S5PV210
help
Samsung S5PV210/S5PC110 series based systems
-config ARCH_EXYNOS
+config ARCH_EXYNOS_SINGLE
bool "Samsung EXYNOS"
- select ARCH_HAS_CPUFREQ
select ARCH_HAS_HOLES_MEMORYMODEL
select ARCH_SPARSEMEM_ENABLE
- select CLKDEV_LOOKUP
- select CPU_V7
- select GENERIC_CLOCKEVENTS
- select HAVE_CLK
- select HAVE_S3C2410_I2C if I2C
select HAVE_S3C2410_WATCHDOG if WATCHDOG
- select HAVE_S3C_RTC if RTC_CLASS
select NEED_MACH_GPIO_H
select NEED_MACH_MEMORY_H
help
diff --git a/arch/arm/configs/exynos4_defconfig b/arch/arm/configs/exynos4_defconfig
index bffe68e..ae90a0f 100644
--- a/arch/arm/configs/exynos4_defconfig
+++ b/arch/arm/configs/exynos4_defconfig
@@ -4,7 +4,7 @@ CONFIG_KALLSYMS_ALL=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
-CONFIG_ARCH_EXYNOS=y
+CONFIG_ARCH_EXYNOS_SINGLE=y
CONFIG_S3C_LOWLEVEL_UART_PORT=1
CONFIG_MACH_SMDKC210=y
CONFIG_MACH_ARMLEX4210=y
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 33e2336..e4ee875 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -7,6 +7,21 @@
# Configuration options for the EXYNOS4
+config ARCH_EXYNOS
+ # TODO: make this visible after all drivers are converted
+ bool "Samsung EXYNOS" if ARCH_MULTI_V7 && BROKEN
+ default ARCH_EXYNOS_SINGLE
+ select ARCH_HAS_CPUFREQ
+ select CLKDEV_LOOKUP
+ select COMMON_CLK
+ select CPU_V7
+ select GENERIC_CLOCKEVENTS
+ select HAVE_CLK
+ select HAVE_S3C2410_I2C if I2C
+ select HAVE_S3C_RTC if RTC_CLASS
+ help
+ Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
+
if ARCH_EXYNOS
menu "SAMSUNG EXYNOS SoCs Support"
@@ -19,6 +34,9 @@ config ARCH_EXYNOS4
help
Samsung EXYNOS4 SoCs based systems
+config ARCH_EXYNOS4_SINGLE
+ def_bool ARCH_EXYNOS4 && ARCH_EXYNOS_SINGLE
+
config ARCH_EXYNOS5
bool "SAMSUNG EXYNOS5"
select HAVE_SMP
@@ -35,7 +53,7 @@ config CPU_EXYNOS4210
select PM_GENERIC_DOMAINS
select S5P_PM if PM
select S5P_SLEEP if PM
- select SAMSUNG_DMADEV
+ select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE
help
Enable EXYNOS4210 CPU support
@@ -45,7 +63,7 @@ config SOC_EXYNOS4212
depends on ARCH_EXYNOS4
select S5P_PM if PM
select S5P_SLEEP if PM
- select SAMSUNG_DMADEV
+ select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE
help
Enable EXYNOS4212 SoC support
@@ -53,7 +71,7 @@ config SOC_EXYNOS4412
bool "SAMSUNG EXYNOS4412"
default y
depends on ARCH_EXYNOS4
- select SAMSUNG_DMADEV
+ select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE
help
Enable EXYNOS4412 SoC support
@@ -64,7 +82,7 @@ config SOC_EXYNOS5250
select S5P_PM if PM
select S5P_SLEEP if PM
select S5P_DEV_MFC
- select SAMSUNG_DMADEV
+ select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE
help
Enable EXYNOS5250 SoC support
diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile
index 435757e..57e9124 100644
--- a/arch/arm/mach-exynos/Makefile
+++ b/arch/arm/mach-exynos/Makefile
@@ -4,6 +4,7 @@
# http://www.samsung.com/
#
# Licensed under GPLv2
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree)/arch/arm/plat-samsung/include
obj-y :=
obj-m :=
@@ -48,12 +49,12 @@ obj-$(CONFIG_MACH_EXYNOS5_DT) += mach-exynos5-dt.o
# device support
obj-y += dev-uart.o
-obj-$(CONFIG_ARCH_EXYNOS4) += dev-audio.o
+obj-$(CONFIG_ARCH_EXYNOS4_SINGLE) += dev-audio.o
obj-$(CONFIG_EXYNOS4_DEV_AHCI) += dev-ahci.o
obj-$(CONFIG_EXYNOS_DEV_DMA) += dma.o
obj-$(CONFIG_EXYNOS4_DEV_USB_OHCI) += dev-ohci.o
-obj-$(CONFIG_ARCH_EXYNOS) += setup-i2c0.o
+obj-$(CONFIG_ARCH_EXYNOS_SINGLE) += setup-i2c0.o
obj-$(CONFIG_EXYNOS4_SETUP_FIMC) += setup-fimc.o
obj-$(CONFIG_EXYNOS4_SETUP_FIMD0) += setup-fimd0.o
obj-$(CONFIG_EXYNOS4_SETUP_I2C1) += setup-i2c1.o
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index d63d399..83bd3f0 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -368,6 +368,9 @@ static void __init exynos4_map_io(void)
else
iotable_init(exynos4_iodesc1, ARRAY_SIZE(exynos4_iodesc1));
+ if (!IS_ENABLED(CONFIG_EXYNOS_ATAGS))
+ return
+
/* initialize device information early */
exynos4_default_sdhci0();
exynos4_default_sdhci1();
@@ -570,6 +573,8 @@ static void __init exynos4_init_uarts(struct s3c2410_uartcfg *cfg, int no)
s3c24xx_init_uartdevs("exynos4210-uart", exynos4_uart_resources, cfg, no);
}
+
+#ifdef CONFIG_EXYNOS_ATAGS
static void __iomem *exynos_eint_base;
static DEFINE_SPINLOCK(eint_lock);
@@ -875,3 +880,4 @@ static int __init exynos_init_irq_eint(void)
return 0;
}
arch_initcall(exynos_init_irq_eint);
+#endif
diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
index a9d5216..8aae681 100644
--- a/arch/arm/plat-samsung/Kconfig
+++ b/arch/arm/plat-samsung/Kconfig
@@ -13,6 +13,10 @@ config PLAT_SAMSUNG
help
Base platform code for all Samsung SoC based systems
+config PLAT_SAMSUNG_SINGLE
+ def_bool PLAT_SAMSUNG && !ARCH_MULTIPLATFORM
+
+
config PLAT_S5P
bool
depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
@@ -23,7 +27,7 @@ config PLAT_S5P
select GIC_NON_BANKED if ARCH_EXYNOS4
select NO_IOPORT
select PLAT_SAMSUNG
- select S3C_GPIO_TRACK
+ select S3C_GPIO_TRACK if PLAT_SAMSUNG_SINGLE
select S5P_GPIO_DRVSTR
select SAMSUNG_CLKSRC
select SAMSUNG_GPIOLIB_4BIT
@@ -178,6 +182,7 @@ config S5P_DEV_UART
config S3C_ADC
bool "ADC common driver support"
+ depends on PLAT_SAMSUNG_SINGLE
help
Core support for the ADC block found in the Samsung SoC systems
for drivers such as the touchscreen and hwmon to use to share
diff --git a/arch/arm/plat-samsung/Makefile b/arch/arm/plat-samsung/Makefile
index 3a7c64d..cf684b2 100644
--- a/arch/arm/plat-samsung/Makefile
+++ b/arch/arm/plat-samsung/Makefile
@@ -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
@@ -34,7 +37,7 @@ obj-$(CONFIG_S3C_ADC) += adc.o
obj-y += platformdata.o
-obj-y += devs.o
+obj-$(CONFIG_PLAT_SAMSUNG_SINGLE) += devs.o
obj-y += dev-uart.o
obj-$(CONFIG_S5P_DEV_MFC) += s5p-dev-mfc.o
obj-$(CONFIG_S5P_DEV_UART) += s5p-dev-uart.o
@@ -51,9 +54,10 @@ obj-$(CONFIG_S3C_DMA) += dma.o s3c-dma-ops.o
obj-$(CONFIG_SAMSUNG_DMADEV) += dma-ops.o
# PM support
-
obj-$(CONFIG_PM) += pm.o
+ifdef CONFIG_PLAT_SAMSUNG_SINGLE
obj-$(CONFIG_PM) += pm-gpio.o
+endif
obj-$(CONFIG_SAMSUNG_PM_CHECK) += pm-check.o
obj-$(CONFIG_SAMSUNG_WAKEMASK) += wakeup-mask.o
diff --git a/arch/arm/plat-samsung/include/plat/pm.h b/arch/arm/plat-samsung/include/plat/pm.h
index f6fcade..266a4e3 100644
--- a/arch/arm/plat-samsung/include/plat/pm.h
+++ b/arch/arm/plat-samsung/include/plat/pm.h
@@ -166,6 +166,7 @@ extern void s3c_pm_check_store(void);
*/
extern void s3c_pm_configure_extint(void);
+#ifdef CONFIG_PLAT_SAMSUNG_SINGLE
/**
* samsung_pm_restore_gpios() - restore the state of the gpios after sleep.
*
@@ -181,6 +182,10 @@ extern void samsung_pm_restore_gpios(void);
* Save the GPIO states for resotration on resume. See samsung_pm_restore_gpios().
*/
extern void samsung_pm_save_gpios(void);
+#else
+#define samsung_pm_restore_gpios() do { } while(0)
+#define samsung_pm_save_gpios() do { } while(0)
+#endif
extern void s3c_pm_save_core(void);
extern void s3c_pm_restore_core(void);
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index 22e07bc..6c16050 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -57,7 +57,7 @@ obj-$(CONFIG_GPIO_PL061) += gpio-pl061.o
obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o
obj-$(CONFIG_GPIO_RC5T583) += gpio-rc5t583.o
obj-$(CONFIG_GPIO_RDC321X) += gpio-rdc321x.o
-obj-$(CONFIG_PLAT_SAMSUNG) += gpio-samsung.o
+obj-$(CONFIG_PLAT_SAMSUNG_SINGLE) += gpio-samsung.o
obj-$(CONFIG_ARCH_SA1100) += gpio-sa1100.o
obj-$(CONFIG_GPIO_SCH) += gpio-sch.o
obj-$(CONFIG_GPIO_SODAVILLE) += gpio-sodaville.o
--
1.8.1.2
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v3 05/10] i2c: s3c2410: make header file local
2013-04-11 21:37 ` [PATCH v3 05/10] i2c: s3c2410: make header file local Arnd Bergmann
@ 2013-04-11 21:43 ` Heiko Stübner
2013-04-12 8:11 ` Arnd Bergmann
0 siblings, 1 reply; 21+ messages in thread
From: Heiko Stübner @ 2013-04-11 21:43 UTC (permalink / raw)
To: linux-arm-kernel
Hi Arnd,
Am Donnerstag, 11. April 2013, 23:37:20 schrieb Arnd Bergmann:
> No other file in the kernel besides i2c-s3c2410.c uses the current
> plat/regs-iic.h, so we can simply move the header file to live in the
> same directory as the driver, as a preparation to multiplatform builds.
There is already a patch doing similar changes [0] in the i2c tree for 3.10
Heiko
[0]
https://git.kernel.org/cgit/linux/kernel/git/wsa/linux.git/commit/?h=i2c/for-
next&id=e636602ac2613da8c1777cb42443223994be4107
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Cc: linux-i2c at vger.kernel.org
> Cc: Wolfram Sang <wsa@the-dreams.de>
> Cc: Ben Dooks <ben-linux@fluff.org>
> ---
> arch/arm/mach-s3c24xx/mach-rx1950.c | 1
> - arch/arm/plat-samsung/devs.c |
> 1 - drivers/i2c/busses/i2c-s3c2410.c
> | 3 ++- .../include/plat/regs-iic.h => drivers/i2c/busses/i2c-s3c2410.h
> | 0 4 files changed, 2 insertions(+), 3 deletions(-)
> rename arch/arm/plat-samsung/include/plat/regs-iic.h =>
> drivers/i2c/busses/i2c-s3c2410.h (100%)
>
> diff --git a/arch/arm/mach-s3c24xx/mach-rx1950.c
> b/arch/arm/mach-s3c24xx/mach-rx1950.c index 1f9ba2a..43f3ac5 100644
> --- a/arch/arm/mach-s3c24xx/mach-rx1950.c
> +++ b/arch/arm/mach-s3c24xx/mach-rx1950.c
> @@ -56,7 +56,6 @@
> #include <plat/cpu.h>
> #include <plat/devs.h>
> #include <plat/pm.h>
> -#include <plat/regs-iic.h>
> #include <plat/regs-serial.h>
>
> #include "common.h"
> diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c
> index de9ad27..5e37051 100644
> --- a/arch/arm/plat-samsung/devs.c
> +++ b/arch/arm/plat-samsung/devs.c
> @@ -62,7 +62,6 @@
> #include <linux/platform_data/usb-s3c2410_udc.h>
> #include <linux/platform_data/usb-ohci-s3c2410.h>
> #include <plat/usb-phy.h>
> -#include <plat/regs-iic.h>
> #include <plat/regs-serial.h>
> #include <plat/regs-spi.h>
> #include <linux/platform_data/spi-s3c64xx.h>
> diff --git a/drivers/i2c/busses/i2c-s3c2410.c
> b/drivers/i2c/busses/i2c-s3c2410.c index f6b880b..d042ad0 100644
> --- a/drivers/i2c/busses/i2c-s3c2410.c
> +++ b/drivers/i2c/busses/i2c-s3c2410.c
> @@ -42,9 +42,10 @@
>
> #include <asm/irq.h>
>
> -#include <plat/regs-iic.h>
> #include <linux/platform_data/i2c-s3c2410.h>
>
> +#include "i2c-s3c2410.h"
> +
> /* Treat S3C2410 as baseline hardware, anything else is supported via
> quirks */ #define QUIRK_S3C2440 (1 << 0)
> #define QUIRK_HDMIPHY (1 << 1)
> diff --git a/arch/arm/plat-samsung/include/plat/regs-iic.h
> b/drivers/i2c/busses/i2c-s3c2410.h similarity index 100%
> rename from arch/arm/plat-samsung/include/plat/regs-iic.h
> rename to drivers/i2c/busses/i2c-s3c2410.h
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 05/10] i2c: s3c2410: make header file local
2013-04-11 21:43 ` Heiko Stübner
@ 2013-04-12 8:11 ` Arnd Bergmann
0 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-12 8:11 UTC (permalink / raw)
To: linux-arm-kernel
On Thursday 11 April 2013, Heiko St?bner wrote:
> Am Donnerstag, 11. April 2013, 23:37:20 schrieb Arnd Bergmann:
> > No other file in the kernel besides i2c-s3c2410.c uses the current
> > plat/regs-iic.h, so we can simply move the header file to live in the
> > same directory as the driver, as a preparation to multiplatform builds.
>
> There is already a patch doing similar changes [0] in the i2c tree for 3.10
>
Excellent, that patch is actually nicer than my version, thanks for taking
care of this! I'll drop my patch from the series then.
Arnd
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 00/10] ARM: exynos multiplatform series, part 1
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
` (9 preceding siblings ...)
2013-04-11 21:37 ` [PATCH v3 10/10] ARM: exynos: enable multiplatform support Arnd Bergmann
@ 2013-04-19 13:36 ` Arnd Bergmann
2013-04-19 13:51 ` Sylwester Nawrocki
2013-04-22 11:40 ` Sachin Kamat
2013-04-22 16:44 ` Kukjin Kim
11 siblings, 2 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-19 13:36 UTC (permalink / raw)
To: linux-arm-kernel
On Thursday 11 April 2013, Arnd Bergmann wrote:
> These are the patches that I would like to apply directly to
> the arm-soc next/multiplatform branch, unless you have any
> objections. This would get all the simple stuff out of the
> way, and I don't think there is a big risk of introducing
> regressions with these.
>
> A lot of the other patches have already been merged into
> subsystem trees. After this series in in arm-soc, what is
> left comes down to
>
> * The ASoC conversion to dmaengine won't make it unless someone
> who knows that code better steps up to do it right away. This
> means that we won't have audio in a 3.10 multiplatform kernel
> on Exynos, but it will still work for users that don't enable
> multiplatform.
>
> * The irqchip (combiner), clk and clksource patches are all based
> on top of other changesets we pulled in from your trees, so I
> would not make them part of the next/multiplatform branch. We can
> apply them on top of the next/drivers branch once they are
> tested successfully.
>
> * A trivial patch is needed in the end to actually make
> CONFIG_ARCH_EXYNOS visible in multiplatform configurations.
> We will do that as a separate patch once everything else is
> there.
>
> Please provide an ACK so I can put this into arm-soc, or let
> me know if I screwed up somewhere.
No reply?
I'm putting them into the next/multiplatform branch now, with
the exception of the i2c patch that is already in the i2c
tree.
I've tested this on the Arndale board and am putting it into
the next/multiplatform branch now as a stepping stone for
part two, which will be a late branch at best, if we decide
to merge it in 3.10.
Arnd
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 00/10] ARM: exynos multiplatform series, part 1
2013-04-19 13:36 ` [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
@ 2013-04-19 13:51 ` Sylwester Nawrocki
2013-04-22 11:40 ` Sachin Kamat
1 sibling, 0 replies; 21+ messages in thread
From: Sylwester Nawrocki @ 2013-04-19 13:51 UTC (permalink / raw)
To: linux-arm-kernel
On 04/19/2013 03:36 PM, Arnd Bergmann wrote:
> On Thursday 11 April 2013, Arnd Bergmann wrote:
>> These are the patches that I would like to apply directly to
>> the arm-soc next/multiplatform branch, unless you have any
>> objections. This would get all the simple stuff out of the
>> way, and I don't think there is a big risk of introducing
>> regressions with these.
>>
>> A lot of the other patches have already been merged into
>> subsystem trees. After this series in in arm-soc, what is
>> left comes down to
>>
>> * The ASoC conversion to dmaengine won't make it unless someone
>> who knows that code better steps up to do it right away. This
>> means that we won't have audio in a 3.10 multiplatform kernel
>> on Exynos, but it will still work for users that don't enable
>> multiplatform.
>>
>> * The irqchip (combiner), clk and clksource patches are all based
>> on top of other changesets we pulled in from your trees, so I
>> would not make them part of the next/multiplatform branch. We can
>> apply them on top of the next/drivers branch once they are
>> tested successfully.
>>
>> * A trivial patch is needed in the end to actually make
>> CONFIG_ARCH_EXYNOS visible in multiplatform configurations.
>> We will do that as a separate patch once everything else is
>> there.
>>
>> Please provide an ACK so I can put this into arm-soc, or let
>> me know if I screwed up somewhere.
>
> No reply?
>
> I'm putting them into the next/multiplatform branch now, with
> the exception of the i2c patch that is already in the i2c
> tree.
>
> I've tested this on the Arndale board and am putting it into
> the next/multiplatform branch now as a stepping stone for
> part two, which will be a late branch at best, if we decide
> to merge it in 3.10.
I've reviewed this patch series and nothing concerning jumps.
Please feel free to add
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
if still possible.
Thanks.
Sylwester
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 00/10] ARM: exynos multiplatform series, part 1
2013-04-19 13:36 ` [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
2013-04-19 13:51 ` Sylwester Nawrocki
@ 2013-04-22 11:40 ` Sachin Kamat
2013-04-22 13:12 ` Arnd Bergmann
1 sibling, 1 reply; 21+ messages in thread
From: Sachin Kamat @ 2013-04-22 11:40 UTC (permalink / raw)
To: linux-arm-kernel
Hi Arnd,
On 19 April 2013 19:06, Arnd Bergmann <arnd@arndb.de> wrote:
> On Thursday 11 April 2013, Arnd Bergmann wrote:
>> These are the patches that I would like to apply directly to
>> the arm-soc next/multiplatform branch, unless you have any
>> objections. This would get all the simple stuff out of the
>> way, and I don't think there is a big risk of introducing
>> regressions with these.
>>
>> A lot of the other patches have already been merged into
>> subsystem trees. After this series in in arm-soc, what is
>> left comes down to
>>
>> * The ASoC conversion to dmaengine won't make it unless someone
>> who knows that code better steps up to do it right away. This
>> means that we won't have audio in a 3.10 multiplatform kernel
>> on Exynos, but it will still work for users that don't enable
>> multiplatform.
>>
>> * The irqchip (combiner), clk and clksource patches are all based
>> on top of other changesets we pulled in from your trees, so I
>> would not make them part of the next/multiplatform branch. We can
>> apply them on top of the next/drivers branch once they are
>> tested successfully.
>>
>> * A trivial patch is needed in the end to actually make
>> CONFIG_ARCH_EXYNOS visible in multiplatform configurations.
>> We will do that as a separate patch once everything else is
>> there.
>>
>> Please provide an ACK so I can put this into arm-soc, or let
>> me know if I screwed up somewhere.
>
> No reply?
>
> I'm putting them into the next/multiplatform branch now, with
> the exception of the i2c patch that is already in the i2c
> tree.
>
> I've tested this on the Arndale board and am putting it into
> the next/multiplatform branch now as a stepping stone for
> part two, which will be a late branch at best, if we decide
> to merge it in 3.10.
With this branch now available (merged) in linux-next (20130422),
looks like exynos4 DT support is broken on it. Tested on Origen 4210
and 4412 and I get the following warnings on 4412 Origen board with
exynos_defconfig (Note that clocks are all 0). However, it boots fine
on Arndale board.
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:549
Exynos4x12 clocks: sclk_apll = 0, sclk_mpll = 0
sclk_epll = 0, sclk_vpll = 0, arm_clk = 0
Division by zero in kernel.
CPU: 0 PID: 0 Comm: swapper/0 Not tainted
3.9.0-rc8-next-20130422-00038-g20ff84f #50
[<c0013fc8>] (unwind_backtrace+0x0/0xf8) from [<c0010ee4>]
(show_stack+0x10/0x14)
[<c0010ee4>] (show_stack+0x10/0x14) from [<c0190704>] (Ldiv0_64+0x8/0x18)
[<c0190704>] (Ldiv0_64+0x8/0x18) from [<c00549c4>]
(__clocksource_updatefreq_scale+0x44/0x19c)
[<c00549c4>] (__clocksource_updatefreq_scale+0x44/0x19c) from
[<c0054b28>] (__clocksource_register_scale+0xc/0x44)
[<c0054b28>] (__clocksource_register_scale+0xc/0x44) from [<c04895b0>]
(exynos4_clocksource_init+0x20/0x40)
[<c04895b0>] (exynos4_clocksource_init+0x20/0x40) from [<c0489638>]
(mct_init_dt+0x68/0x74)
[<c0489638>] (mct_init_dt+0x68/0x74) from [<c0489384>]
(clocksource_of_init+0x30/0x58)
[<c0489384>] (clocksource_of_init+0x30/0x58) from [<c0473ae0>]
(time_init+0x1c/0x30)
[<c0473ae0>] (time_init+0x1c/0x30) from [<c04706a0>] (start_kernel+0x1a0/0x37c)
[<c04706a0>] (start_kernel+0x1a0/0x37c) from [<40008074>] (0x40008074)
Division by zero in kernel.
--
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 00/10] ARM: exynos multiplatform series, part 1
2013-04-22 11:40 ` Sachin Kamat
@ 2013-04-22 13:12 ` Arnd Bergmann
2013-04-22 13:36 ` Thomas Abraham
2013-04-23 4:02 ` Sachin Kamat
0 siblings, 2 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-22 13:12 UTC (permalink / raw)
To: linux-arm-kernel
On Monday 22 April 2013, Sachin Kamat wrote:
>
> With this branch now available (merged) in linux-next (20130422),
> looks like exynos4 DT support is broken on it. Tested on Origen 4210
> and 4412 and I get the following warnings on 4412 Origen board with
> exynos_defconfig (Note that clocks are all 0). However, it boots fine
> on Arndale board.
I think this issue should be fixed with the patch that Thomas Abraham
just sent. Thomas, can you confirm?
> SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
> Preemptible hierarchical RCU implementation.
> NR_IRQS:549
> Exynos4x12 clocks: sclk_apll = 0, sclk_mpll = 0
> sclk_epll = 0, sclk_vpll = 0, arm_clk = 0
> Division by zero in kernel.
> CPU: 0 PID: 0 Comm: swapper/0 Not tainted
> 3.9.0-rc8-next-20130422-00038-g20ff84f #50
> [<c0013fc8>] (unwind_backtrace+0x0/0xf8) from [<c0010ee4>]
> (show_stack+0x10/0x14)
> [<c0010ee4>] (show_stack+0x10/0x14) from [<c0190704>] (Ldiv0_64+0x8/0x18)
> [<c0190704>] (Ldiv0_64+0x8/0x18) from [<c00549c4>]
> (__clocksource_updatefreq_scale+0x44/0x19c)
> [<c00549c4>] (__clocksource_updatefreq_scale+0x44/0x19c) from
> [<c0054b28>] (__clocksource_register_scale+0xc/0x44)
> [<c0054b28>] (__clocksource_register_scale+0xc/0x44) from [<c04895b0>]
> (exynos4_clocksource_init+0x20/0x40)
> [<c04895b0>] (exynos4_clocksource_init+0x20/0x40) from [<c0489638>]
> (mct_init_dt+0x68/0x74)
> [<c0489638>] (mct_init_dt+0x68/0x74) from [<c0489384>]
> (clocksource_of_init+0x30/0x58)
> [<c0489384>] (clocksource_of_init+0x30/0x58) from [<c0473ae0>]
> (time_init+0x1c/0x30)
> [<c0473ae0>] (time_init+0x1c/0x30) from [<c04706a0>] (start_kernel+0x1a0/0x37c)
> [<c04706a0>] (start_kernel+0x1a0/0x37c) from [<40008074>] (0x40008074)
> Division by zero in kernel.
Arnd
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 00/10] ARM: exynos multiplatform series, part 1
2013-04-22 13:12 ` Arnd Bergmann
@ 2013-04-22 13:36 ` Thomas Abraham
2013-04-23 4:02 ` Sachin Kamat
1 sibling, 0 replies; 21+ messages in thread
From: Thomas Abraham @ 2013-04-22 13:36 UTC (permalink / raw)
To: linux-arm-kernel
On 22 April 2013 18:42, Arnd Bergmann <arnd@arndb.de> wrote:
> On Monday 22 April 2013, Sachin Kamat wrote:
>>
>> With this branch now available (merged) in linux-next (20130422),
>> looks like exynos4 DT support is broken on it. Tested on Origen 4210
>> and 4412 and I get the following warnings on 4412 Origen board with
>> exynos_defconfig (Note that clocks are all 0). However, it boots fine
>> on Arndale board.
>
> I think this issue should be fixed with the patch that Thomas Abraham
> just sent. Thomas, can you confirm?
Yes, this issue is resolved with chip-id dt support patches, without
which the parent of fin_pll clock is set as xxti (which is set to 0Hz
for Origen4210) instead of xusbxti.
Thomas.
>
>> SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
>> Preemptible hierarchical RCU implementation.
>> NR_IRQS:549
>> Exynos4x12 clocks: sclk_apll = 0, sclk_mpll = 0
>> sclk_epll = 0, sclk_vpll = 0, arm_clk = 0
>> Division by zero in kernel.
>> CPU: 0 PID: 0 Comm: swapper/0 Not tainted
>> 3.9.0-rc8-next-20130422-00038-g20ff84f #50
>> [<c0013fc8>] (unwind_backtrace+0x0/0xf8) from [<c0010ee4>]
>> (show_stack+0x10/0x14)
>> [<c0010ee4>] (show_stack+0x10/0x14) from [<c0190704>] (Ldiv0_64+0x8/0x18)
>> [<c0190704>] (Ldiv0_64+0x8/0x18) from [<c00549c4>]
>> (__clocksource_updatefreq_scale+0x44/0x19c)
>> [<c00549c4>] (__clocksource_updatefreq_scale+0x44/0x19c) from
>> [<c0054b28>] (__clocksource_register_scale+0xc/0x44)
>> [<c0054b28>] (__clocksource_register_scale+0xc/0x44) from [<c04895b0>]
>> (exynos4_clocksource_init+0x20/0x40)
>> [<c04895b0>] (exynos4_clocksource_init+0x20/0x40) from [<c0489638>]
>> (mct_init_dt+0x68/0x74)
>> [<c0489638>] (mct_init_dt+0x68/0x74) from [<c0489384>]
>> (clocksource_of_init+0x30/0x58)
>> [<c0489384>] (clocksource_of_init+0x30/0x58) from [<c0473ae0>]
>> (time_init+0x1c/0x30)
>> [<c0473ae0>] (time_init+0x1c/0x30) from [<c04706a0>] (start_kernel+0x1a0/0x37c)
>> [<c04706a0>] (start_kernel+0x1a0/0x37c) from [<40008074>] (0x40008074)
>> Division by zero in kernel.
>
> Arnd
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 00/10] ARM: exynos multiplatform series, part 1
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
` (10 preceding siblings ...)
2013-04-19 13:36 ` [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
@ 2013-04-22 16:44 ` Kukjin Kim
11 siblings, 0 replies; 21+ messages in thread
From: Kukjin Kim @ 2013-04-22 16:44 UTC (permalink / raw)
To: linux-arm-kernel
On 04/12/13 06:37, Arnd Bergmann wrote:
> Hi Kukjin,
>
Hi Arnd,
> These are the patches that I would like to apply directly to
> the arm-soc next/multiplatform branch, unless you have any
Yeah, looks good to me.
> objections. This would get all the simple stuff out of the
> way, and I don't think there is a big risk of introducing
> regressions with these.
>
OK, please go ahead and if you want to add my ack:
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Thanks.
- Kukjin
> A lot of the other patches have already been merged into
> subsystem trees. After this series in in arm-soc, what is
> left comes down to
>
> * The ASoC conversion to dmaengine won't make it unless someone
> who knows that code better steps up to do it right away. This
> means that we won't have audio in a 3.10 multiplatform kernel
> on Exynos, but it will still work for users that don't enable
> multiplatform.
>
> * The irqchip (combiner), clk and clksource patches are all based
> on top of other changesets we pulled in from your trees, so I
> would not make them part of the next/multiplatform branch. We can
> apply them on top of the next/drivers branch once they are
> tested successfully.
>
> * A trivial patch is needed in the end to actually make
> CONFIG_ARCH_EXYNOS visible in multiplatform configurations.
> We will do that as a separate patch once everything else is
> there.
>
> Please provide an ACK so I can put this into arm-soc, or let
> me know if I screwed up somewhere.
>
> Arnd
>
> Arnd Bergmann (10):
> ARM: exynos: introduce EXYNOS_ATAGS symbol
> ARM: exynos: prepare for sparse IRQ
> ARM: exynos: move debug-macro.S to include/debug/
> ARM: samsung: move mfc device definition to s5p-dev-mfc.c
> i2c: s3c2410: make header file local
> mmc: sdhci-s3c: remove platform dependencies
> thermal/exynos: remove unnecessary header inclusions
> mtd: onenand/samsung: make regs-onenand.h file local
> rtc: s3c: make header file local
> ARM: exynos: enable multiplatform support
>
> arch/arm/Kconfig | 9 +---
> arch/arm/Kconfig.debug | 8 ++++
> arch/arm/configs/exynos4_defconfig | 2 +-
> .../mach/debug-macro.S => include/debug/exynos.S} | 12 ++---
> .../plat/debug-macro.S => include/debug/samsung.S} | 2 +-
> arch/arm/mach-exynos/Kconfig | 41 ++++++++++++++--
> arch/arm/mach-exynos/Makefile | 5 +-
> arch/arm/mach-exynos/common.c | 6 +++
> arch/arm/mach-exynos/dev-uart.c | 1 +
> arch/arm/mach-exynos/include/mach/irqs.h | 5 +-
> arch/arm/mach-exynos/mach-armlex4210.c | 2 +
> arch/arm/mach-exynos/mach-exynos4-dt.c | 2 +
> arch/arm/mach-exynos/mach-exynos5-dt.c | 2 +
> arch/arm/mach-exynos/mach-nuri.c | 2 +
> arch/arm/mach-exynos/mach-origen.c | 2 +
> arch/arm/mach-exynos/mach-smdk4x12.c | 2 +
> arch/arm/mach-exynos/mach-smdkv310.c | 3 ++
> arch/arm/mach-exynos/setup-sdhci-gpio.c | 2 +-
> arch/arm/mach-s3c24xx/include/mach/debug-macro.S | 2 +-
> arch/arm/mach-s3c24xx/mach-rx1950.c | 1 -
> arch/arm/mach-s3c64xx/include/mach/debug-macro.S | 2 +-
> arch/arm/mach-s5p64x0/include/mach/debug-macro.S | 2 +-
> arch/arm/mach-s5pc100/include/mach/debug-macro.S | 2 +-
> arch/arm/mach-s5pc100/setup-sdhci-gpio.c | 1 -
> arch/arm/mach-s5pv210/include/mach/debug-macro.S | 2 +-
> arch/arm/mach-s5pv210/setup-sdhci-gpio.c | 1 -
> arch/arm/plat-samsung/Kconfig | 7 ++-
> arch/arm/plat-samsung/Makefile | 8 +++-
> arch/arm/plat-samsung/devs.c | 46 ------------------
> arch/arm/plat-samsung/include/plat/pm.h | 5 ++
> arch/arm/plat-samsung/include/plat/sdhci.h | 56 +---------------------
> arch/arm/plat-samsung/irq-vic-timer.c | 1 +
> arch/arm/plat-samsung/pm.c | 1 +
> arch/arm/plat-samsung/s5p-dev-mfc.c | 42 +++++++++++++++-
> arch/arm/plat-samsung/s5p-irq.c | 1 +
> drivers/gpio/Makefile | 2 +-
> drivers/i2c/busses/i2c-s3c2410.c | 3 +-
> .../regs-iic.h => drivers/i2c/busses/i2c-s3c2410.h | 0
> drivers/mmc/host/Kconfig | 2 +-
> .../mmc/host/sdhci-s3c-regs.h | 0
> drivers/mmc/host/sdhci-s3c.c | 5 +-
> drivers/mtd/onenand/samsung.c | 4 +-
> .../mtd/onenand/samsung.h | 2 -
> drivers/rtc/rtc-s3c.c | 3 +-
> .../plat/regs-rtc.h => drivers/rtc/rtc-s3c.h | 3 +-
> drivers/thermal/exynos_thermal.c | 2 -
> include/linux/platform_data/mmc-sdhci-s3c.h | 56 ++++++++++++++++++++++
> 47 files changed, 217 insertions(+), 153 deletions(-)
> rename arch/arm/{mach-exynos/include/mach/debug-macro.S => include/debug/exynos.S} (84%)
> rename arch/arm/{plat-samsung/include/plat/debug-macro.S => include/debug/samsung.S} (98%)
> rename arch/arm/plat-samsung/include/plat/regs-iic.h => drivers/i2c/busses/i2c-s3c2410.h (100%)
> rename arch/arm/plat-samsung/include/plat/regs-sdhci.h => drivers/mmc/host/sdhci-s3c-regs.h (100%)
> rename arch/arm/plat-samsung/include/plat/regs-onenand.h => drivers/mtd/onenand/samsung.h (98%)
> rename arch/arm/plat-samsung/include/plat/regs-rtc.h => drivers/rtc/rtc-s3c.h (97%)
> create mode 100644 include/linux/platform_data/mmc-sdhci-s3c.h
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 00/10] ARM: exynos multiplatform series, part 1
2013-04-22 13:12 ` Arnd Bergmann
2013-04-22 13:36 ` Thomas Abraham
@ 2013-04-23 4:02 ` Sachin Kamat
2013-04-23 9:09 ` Arnd Bergmann
1 sibling, 1 reply; 21+ messages in thread
From: Sachin Kamat @ 2013-04-23 4:02 UTC (permalink / raw)
To: linux-arm-kernel
On 22 April 2013 18:42, Arnd Bergmann <arnd@arndb.de> wrote:
> On Monday 22 April 2013, Sachin Kamat wrote:
>>
>> With this branch now available (merged) in linux-next (20130422),
>> looks like exynos4 DT support is broken on it. Tested on Origen 4210
>> and 4412 and I get the following warnings on 4412 Origen board with
>> exynos_defconfig (Note that clocks are all 0). However, it boots fine
>> on Arndale board.
>
> I think this issue should be fixed with the patch that Thomas Abraham
> just sent. Thomas, can you confirm?
Boot tested Origen 4210, 4412 and Arndale boards after applying Thomas
Abraham's chip-id dt support patches.
They all boot fine.
However I could not see multiplatform support for Exynos in
exynos_defconfig (i.e., CONFIG_ARCH_EXYNOS and
CONFIG_ARCH_MULTIPLATFORM are not set together). This was available in
your 'samsung/exynos-multiplatform' branch. Has this been disabled in
next?
---
With warm regards,
Sachin
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v3 00/10] ARM: exynos multiplatform series, part 1
2013-04-23 4:02 ` Sachin Kamat
@ 2013-04-23 9:09 ` Arnd Bergmann
0 siblings, 0 replies; 21+ messages in thread
From: Arnd Bergmann @ 2013-04-23 9:09 UTC (permalink / raw)
To: linux-arm-kernel
On Tuesday 23 April 2013 09:32:30 Sachin Kamat wrote:
> On 22 April 2013 18:42, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Monday 22 April 2013, Sachin Kamat wrote:
> >>
> >> With this branch now available (merged) in linux-next (20130422),
> >> looks like exynos4 DT support is broken on it. Tested on Origen 4210
> >> and 4412 and I get the following warnings on 4412 Origen board with
> >> exynos_defconfig (Note that clocks are all 0). However, it boots fine
> >> on Arndale board.
> >
> > I think this issue should be fixed with the patch that Thomas Abraham
> > just sent. Thomas, can you confirm?
>
> Boot tested Origen 4210, 4412 and Arndale boards after applying Thomas
> Abraham's chip-id dt support patches.
> They all boot fine.
>
> However I could not see multiplatform support for Exynos in
> exynos_defconfig (i.e., CONFIG_ARCH_EXYNOS and
> CONFIG_ARCH_MULTIPLATFORM are not set together). This was available in
> your 'samsung/exynos-multiplatform' branch. Has this been disabled in
> next?
Yes, you have to remove the "depends on BROKEN" part in
arch/arm/mach-exynos/Kconfig. The problem is that multiplatform support
on Exynos only works when you have many the patches that are in
linux-next at the moment, but it does not work with arm-soc alone,
so I cannot enable it yet.
Arnd
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2013-04-23 9:09 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-11 21:37 [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 01/10] ARM: exynos: introduce EXYNOS_ATAGS symbol Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 02/10] ARM: exynos: prepare for sparse IRQ Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 03/10] ARM: exynos: move debug-macro.S to include/debug/ Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 04/10] ARM: samsung: move mfc device definition to s5p-dev-mfc.c Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 05/10] i2c: s3c2410: make header file local Arnd Bergmann
2013-04-11 21:43 ` Heiko Stübner
2013-04-12 8:11 ` Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 06/10] mmc: sdhci-s3c: remove platform dependencies Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 07/10] thermal/exynos: remove unnecessary header inclusions Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 08/10] mtd: onenand/samsung: make regs-onenand.h file local Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 09/10] rtc: s3c: make header " Arnd Bergmann
2013-04-11 21:37 ` [PATCH v3 10/10] ARM: exynos: enable multiplatform support Arnd Bergmann
2013-04-19 13:36 ` [PATCH v3 00/10] ARM: exynos multiplatform series, part 1 Arnd Bergmann
2013-04-19 13:51 ` Sylwester Nawrocki
2013-04-22 11:40 ` Sachin Kamat
2013-04-22 13:12 ` Arnd Bergmann
2013-04-22 13:36 ` Thomas Abraham
2013-04-23 4:02 ` Sachin Kamat
2013-04-23 9:09 ` Arnd Bergmann
2013-04-22 16:44 ` Kukjin Kim
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).