aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-04-26 14:47:45 -0400
committerOlof Johansson <olof@lixom.net>2013-04-26 14:47:45 -0400
commit340fcb5cb4c91e58a5102beb0b86b9c416b8c956 (patch)
treed0e41752e473069f4ec9a065cd1f060c4e91266b
parent37746c9a2dd28d52790dd84267b848c087a63b2e (diff)
parent4923ee444a39c8b75027ed01a7812e940194dbec (diff)
Merge branch 'samsung/exynos-multiplatform' into next/drivers
This merges in the revert of multiplatform support for exynos. Trivial conflicts on removed code. Also, needed to add "select COMMON_CLK" to the non-multiplatform EXYNOS config option. * samsung/exynos-multiplatform: Revert "ARM: exynos: enable multiplatform support" Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--arch/arm/Kconfig10
-rw-r--r--arch/arm/configs/exynos4_defconfig2
-rw-r--r--arch/arm/mach-exynos/Kconfig26
-rw-r--r--arch/arm/mach-exynos/Makefile5
-rw-r--r--arch/arm/mach-exynos/common.c6
-rw-r--r--arch/arm/plat-samsung/Kconfig7
-rw-r--r--arch/arm/plat-samsung/Makefile8
-rw-r--r--arch/arm/plat-samsung/include/plat/pm.h5
-rw-r--r--drivers/gpio/Makefile2
9 files changed, 20 insertions, 51 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index f59b687dc325..ccb6c0c71521 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -860,11 +860,19 @@ config ARCH_S5PV210
860 help 860 help
861 Samsung S5PV210/S5PC110 series based systems 861 Samsung S5PV210/S5PC110 series based systems
862 862
863config ARCH_EXYNOS_SINGLE 863config ARCH_EXYNOS
864 bool "Samsung EXYNOS" 864 bool "Samsung EXYNOS"
865 select ARCH_HAS_CPUFREQ
865 select ARCH_HAS_HOLES_MEMORYMODEL 866 select ARCH_HAS_HOLES_MEMORYMODEL
866 select ARCH_SPARSEMEM_ENABLE 867 select ARCH_SPARSEMEM_ENABLE
868 select CLKDEV_LOOKUP
869 select COMMON_CLK
870 select CPU_V7
871 select GENERIC_CLOCKEVENTS
872 select HAVE_CLK
873 select HAVE_S3C2410_I2C if I2C
867 select HAVE_S3C2410_WATCHDOG if WATCHDOG 874 select HAVE_S3C2410_WATCHDOG if WATCHDOG
875 select HAVE_S3C_RTC if RTC_CLASS
868 select NEED_MACH_GPIO_H 876 select NEED_MACH_GPIO_H
869 select NEED_MACH_MEMORY_H 877 select NEED_MACH_MEMORY_H
870 help 878 help
diff --git a/arch/arm/configs/exynos4_defconfig b/arch/arm/configs/exynos4_defconfig
index ae90a0f7d53c..bffe68e190a3 100644
--- a/arch/arm/configs/exynos4_defconfig
+++ b/arch/arm/configs/exynos4_defconfig
@@ -4,7 +4,7 @@ CONFIG_KALLSYMS_ALL=y
4CONFIG_MODULES=y 4CONFIG_MODULES=y
5CONFIG_MODULE_UNLOAD=y 5CONFIG_MODULE_UNLOAD=y
6# CONFIG_BLK_DEV_BSG is not set 6# CONFIG_BLK_DEV_BSG is not set
7CONFIG_ARCH_EXYNOS_SINGLE=y 7CONFIG_ARCH_EXYNOS=y
8CONFIG_S3C_LOWLEVEL_UART_PORT=1 8CONFIG_S3C_LOWLEVEL_UART_PORT=1
9CONFIG_MACH_SMDKC210=y 9CONFIG_MACH_SMDKC210=y
10CONFIG_MACH_ARMLEX4210=y 10CONFIG_MACH_ARMLEX4210=y
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index a77db362a888..b1cdff6f537e 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -7,21 +7,6 @@
7 7
8# Configuration options for the EXYNOS4 8# Configuration options for the EXYNOS4
9 9
10config ARCH_EXYNOS
11 # TODO: make this visible after all drivers are converted
12 bool "Samsung EXYNOS" if ARCH_MULTI_V7 && BROKEN
13 default ARCH_EXYNOS_SINGLE
14 select ARCH_HAS_CPUFREQ
15 select CLKDEV_LOOKUP
16 select COMMON_CLK
17 select CPU_V7
18 select GENERIC_CLOCKEVENTS
19 select HAVE_CLK
20 select HAVE_S3C2410_I2C if I2C
21 select HAVE_S3C_RTC if RTC_CLASS
22 help
23 Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
24
25if ARCH_EXYNOS 10if ARCH_EXYNOS
26 11
27menu "SAMSUNG EXYNOS SoCs Support" 12menu "SAMSUNG EXYNOS SoCs Support"
@@ -34,9 +19,6 @@ config ARCH_EXYNOS4
34 help 19 help
35 Samsung EXYNOS4 SoCs based systems 20 Samsung EXYNOS4 SoCs based systems
36 21
37config ARCH_EXYNOS4_SINGLE
38 def_bool ARCH_EXYNOS4 && ARCH_EXYNOS_SINGLE
39
40config ARCH_EXYNOS5 22config ARCH_EXYNOS5
41 bool "SAMSUNG EXYNOS5" 23 bool "SAMSUNG EXYNOS5"
42 select HAVE_SMP 24 select HAVE_SMP
@@ -53,7 +35,7 @@ config CPU_EXYNOS4210
53 select PM_GENERIC_DOMAINS 35 select PM_GENERIC_DOMAINS
54 select S5P_PM if PM 36 select S5P_PM if PM
55 select S5P_SLEEP if PM 37 select S5P_SLEEP if PM
56 select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE 38 select SAMSUNG_DMADEV
57 help 39 help
58 Enable EXYNOS4210 CPU support 40 Enable EXYNOS4210 CPU support
59 41
@@ -63,7 +45,7 @@ config SOC_EXYNOS4212
63 depends on ARCH_EXYNOS4 45 depends on ARCH_EXYNOS4
64 select S5P_PM if PM 46 select S5P_PM if PM
65 select S5P_SLEEP if PM 47 select S5P_SLEEP if PM
66 select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE 48 select SAMSUNG_DMADEV
67 help 49 help
68 Enable EXYNOS4212 SoC support 50 Enable EXYNOS4212 SoC support
69 51
@@ -71,7 +53,7 @@ config SOC_EXYNOS4412
71 bool "SAMSUNG EXYNOS4412" 53 bool "SAMSUNG EXYNOS4412"
72 default y 54 default y
73 depends on ARCH_EXYNOS4 55 depends on ARCH_EXYNOS4
74 select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE 56 select SAMSUNG_DMADEV
75 help 57 help
76 Enable EXYNOS4412 SoC support 58 Enable EXYNOS4412 SoC support
77 59
@@ -83,7 +65,7 @@ config SOC_EXYNOS5250
83 select S5P_PM if PM 65 select S5P_PM if PM
84 select S5P_SLEEP if PM 66 select S5P_SLEEP if PM
85 select S5P_DEV_MFC 67 select S5P_DEV_MFC
86 select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE 68 select SAMSUNG_DMADEV
87 help 69 help
88 Enable EXYNOS5250 SoC support 70 Enable EXYNOS5250 SoC support
89 71
diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile
index e26d05c5249f..d2f6b362b6dd 100644
--- a/arch/arm/mach-exynos/Makefile
+++ b/arch/arm/mach-exynos/Makefile
@@ -4,7 +4,6 @@
4# http://www.samsung.com/ 4# http://www.samsung.com/
5# 5#
6# Licensed under GPLv2 6# Licensed under GPLv2
7ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree)/arch/arm/plat-samsung/include
8 7
9obj-y := 8obj-y :=
10obj-m := 9obj-m :=
@@ -43,12 +42,12 @@ obj-$(CONFIG_MACH_EXYNOS5_DT) += mach-exynos5-dt.o
43# device support 42# device support
44 43
45obj-y += dev-uart.o 44obj-y += dev-uart.o
46obj-$(CONFIG_ARCH_EXYNOS4_SINGLE) += dev-audio.o 45obj-$(CONFIG_ARCH_EXYNOS4) += dev-audio.o
47obj-$(CONFIG_EXYNOS4_DEV_AHCI) += dev-ahci.o 46obj-$(CONFIG_EXYNOS4_DEV_AHCI) += dev-ahci.o
48obj-$(CONFIG_EXYNOS_DEV_DMA) += dma.o 47obj-$(CONFIG_EXYNOS_DEV_DMA) += dma.o
49obj-$(CONFIG_EXYNOS4_DEV_USB_OHCI) += dev-ohci.o 48obj-$(CONFIG_EXYNOS4_DEV_USB_OHCI) += dev-ohci.o
50 49
51obj-$(CONFIG_ARCH_EXYNOS_SINGLE) += setup-i2c0.o 50obj-$(CONFIG_ARCH_EXYNOS) += setup-i2c0.o
52obj-$(CONFIG_EXYNOS4_SETUP_FIMC) += setup-fimc.o 51obj-$(CONFIG_EXYNOS4_SETUP_FIMC) += setup-fimc.o
53obj-$(CONFIG_EXYNOS4_SETUP_FIMD0) += setup-fimd0.o 52obj-$(CONFIG_EXYNOS4_SETUP_FIMD0) += setup-fimd0.o
54obj-$(CONFIG_EXYNOS4_SETUP_I2C1) += setup-i2c1.o 53obj-$(CONFIG_EXYNOS4_SETUP_I2C1) += setup-i2c1.o
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index a3ab0ecc7c6a..939bda77defa 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -361,9 +361,6 @@ static void __init exynos4_map_io(void)
361 else 361 else
362 iotable_init(exynos4_iodesc1, ARRAY_SIZE(exynos4_iodesc1)); 362 iotable_init(exynos4_iodesc1, ARRAY_SIZE(exynos4_iodesc1));
363 363
364 if (!IS_ENABLED(CONFIG_EXYNOS_ATAGS))
365 return
366
367 /* initialize device information early */ 364 /* initialize device information early */
368 exynos4_default_sdhci0(); 365 exynos4_default_sdhci0();
369 exynos4_default_sdhci1(); 366 exynos4_default_sdhci1();
@@ -549,8 +546,6 @@ static void __init exynos4_init_uarts(struct s3c2410_uartcfg *cfg, int no)
549 s3c24xx_init_uartdevs("exynos4210-uart", exynos4_uart_resources, cfg, no); 546 s3c24xx_init_uartdevs("exynos4210-uart", exynos4_uart_resources, cfg, no);
550} 547}
551 548
552
553#ifdef CONFIG_EXYNOS_ATAGS
554static void __iomem *exynos_eint_base; 549static void __iomem *exynos_eint_base;
555 550
556static DEFINE_SPINLOCK(eint_lock); 551static DEFINE_SPINLOCK(eint_lock);
@@ -857,7 +852,6 @@ static int __init exynos_init_irq_eint(void)
857 return 0; 852 return 0;
858} 853}
859arch_initcall(exynos_init_irq_eint); 854arch_initcall(exynos_init_irq_eint);
860#endif
861 855
862static struct resource exynos4_pmu_resource[] = { 856static struct resource exynos4_pmu_resource[] = {
863 DEFINE_RES_IRQ(EXYNOS4_IRQ_PMU), 857 DEFINE_RES_IRQ(EXYNOS4_IRQ_PMU),
diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
index 77dd30af32f5..6cb19c6aa9d6 100644
--- a/arch/arm/plat-samsung/Kconfig
+++ b/arch/arm/plat-samsung/Kconfig
@@ -13,10 +13,6 @@ config PLAT_SAMSUNG
13 help 13 help
14 Base platform code for all Samsung SoC based systems 14 Base platform code for all Samsung SoC based systems
15 15
16config PLAT_SAMSUNG_SINGLE
17 def_bool PLAT_SAMSUNG && !ARCH_MULTIPLATFORM
18
19
20config PLAT_S5P 16config PLAT_S5P
21 bool 17 bool
22 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS) 18 depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
@@ -27,7 +23,7 @@ config PLAT_S5P
27 select GIC_NON_BANKED if ARCH_EXYNOS4 23 select GIC_NON_BANKED if ARCH_EXYNOS4
28 select NO_IOPORT 24 select NO_IOPORT
29 select PLAT_SAMSUNG 25 select PLAT_SAMSUNG
30 select S3C_GPIO_TRACK if PLAT_SAMSUNG_SINGLE 26 select S3C_GPIO_TRACK
31 select S5P_GPIO_DRVSTR 27 select S5P_GPIO_DRVSTR
32 select SAMSUNG_CLKSRC if !COMMON_CLK 28 select SAMSUNG_CLKSRC if !COMMON_CLK
33 select SAMSUNG_GPIOLIB_4BIT 29 select SAMSUNG_GPIOLIB_4BIT
@@ -182,7 +178,6 @@ config S5P_DEV_UART
182 178
183config S3C_ADC 179config S3C_ADC
184 bool "ADC common driver support" 180 bool "ADC common driver support"
185 depends on PLAT_SAMSUNG_SINGLE
186 help 181 help
187 Core support for the ADC block found in the Samsung SoC systems 182 Core support for the ADC block found in the Samsung SoC systems
188 for drivers such as the touchscreen and hwmon to use to share 183 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 f38ce8489dfd..a23c460299a1 100644
--- a/arch/arm/plat-samsung/Makefile
+++ b/arch/arm/plat-samsung/Makefile
@@ -4,9 +4,6 @@
4# 4#
5# Licensed under GPLv2 5# Licensed under GPLv2
6 6
7ccflags-$(CONFIG_ARCH_MULTI_V7) += -I$(srctree)/$(src)/include
8ccflags-$(CONFIG_ARCH_EXYNOS) += -I$(srctree)/arch/arm/mach-exynos/include
9
10obj-y := 7obj-y :=
11obj-m := 8obj-m :=
12obj-n := dummy.o 9obj-n := dummy.o
@@ -36,7 +33,7 @@ obj-$(CONFIG_S3C_ADC) += adc.o
36 33
37obj-y += platformdata.o 34obj-y += platformdata.o
38 35
39obj-$(CONFIG_PLAT_SAMSUNG_SINGLE) += devs.o 36obj-y += devs.o
40obj-y += dev-uart.o 37obj-y += dev-uart.o
41obj-$(CONFIG_S5P_DEV_MFC) += s5p-dev-mfc.o 38obj-$(CONFIG_S5P_DEV_MFC) += s5p-dev-mfc.o
42obj-$(CONFIG_S5P_DEV_UART) += s5p-dev-uart.o 39obj-$(CONFIG_S5P_DEV_UART) += s5p-dev-uart.o
@@ -53,10 +50,9 @@ obj-$(CONFIG_S3C_DMA) += dma.o s3c-dma-ops.o
53obj-$(CONFIG_SAMSUNG_DMADEV) += dma-ops.o 50obj-$(CONFIG_SAMSUNG_DMADEV) += dma-ops.o
54 51
55# PM support 52# PM support
53
56obj-$(CONFIG_PM) += pm.o 54obj-$(CONFIG_PM) += pm.o
57ifdef CONFIG_PLAT_SAMSUNG_SINGLE
58obj-$(CONFIG_PM) += pm-gpio.o 55obj-$(CONFIG_PM) += pm-gpio.o
59endif
60obj-$(CONFIG_SAMSUNG_PM_CHECK) += pm-check.o 56obj-$(CONFIG_SAMSUNG_PM_CHECK) += pm-check.o
61 57
62obj-$(CONFIG_SAMSUNG_WAKEMASK) += wakeup-mask.o 58obj-$(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 266a4e3e2458..f6fcadeee969 100644
--- a/arch/arm/plat-samsung/include/plat/pm.h
+++ b/arch/arm/plat-samsung/include/plat/pm.h
@@ -166,7 +166,6 @@ extern void s3c_pm_check_store(void);
166 */ 166 */
167extern void s3c_pm_configure_extint(void); 167extern void s3c_pm_configure_extint(void);
168 168
169#ifdef CONFIG_PLAT_SAMSUNG_SINGLE
170/** 169/**
171 * samsung_pm_restore_gpios() - restore the state of the gpios after sleep. 170 * samsung_pm_restore_gpios() - restore the state of the gpios after sleep.
172 * 171 *
@@ -182,10 +181,6 @@ extern void samsung_pm_restore_gpios(void);
182 * Save the GPIO states for resotration on resume. See samsung_pm_restore_gpios(). 181 * Save the GPIO states for resotration on resume. See samsung_pm_restore_gpios().
183 */ 182 */
184extern void samsung_pm_save_gpios(void); 183extern void samsung_pm_save_gpios(void);
185#else
186#define samsung_pm_restore_gpios() do { } while(0)
187#define samsung_pm_save_gpios() do { } while(0)
188#endif
189 184
190extern void s3c_pm_save_core(void); 185extern void s3c_pm_save_core(void);
191extern void s3c_pm_restore_core(void); 186extern void s3c_pm_restore_core(void);
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index 7b6f8105d352..a274d7df3c8c 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -57,7 +57,7 @@ obj-$(CONFIG_GPIO_PL061) += gpio-pl061.o
57obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o 57obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o
58obj-$(CONFIG_GPIO_RC5T583) += gpio-rc5t583.o 58obj-$(CONFIG_GPIO_RC5T583) += gpio-rc5t583.o
59obj-$(CONFIG_GPIO_RDC321X) += gpio-rdc321x.o 59obj-$(CONFIG_GPIO_RDC321X) += gpio-rdc321x.o
60obj-$(CONFIG_PLAT_SAMSUNG_SINGLE) += gpio-samsung.o 60obj-$(CONFIG_PLAT_SAMSUNG) += gpio-samsung.o
61obj-$(CONFIG_ARCH_SA1100) += gpio-sa1100.o 61obj-$(CONFIG_ARCH_SA1100) += gpio-sa1100.o
62obj-$(CONFIG_GPIO_SCH) += gpio-sch.o 62obj-$(CONFIG_GPIO_SCH) += gpio-sch.o
63obj-$(CONFIG_GPIO_SODAVILLE) += gpio-sodaville.o 63obj-$(CONFIG_GPIO_SODAVILLE) += gpio-sodaville.o