summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-04-26 11:47:45 -0700
committerOlof Johansson <olof@lixom.net>2013-04-26 11:47:45 -0700
commit340fcb5cb4c91e58a5102beb0b86b9c416b8c956 (patch)
treed0e41752e473069f4ec9a065cd1f060c4e91266b
parent37746c9a2dd28d52790dd84267b848c087a63b2e (diff)
parent4923ee444a39c8b75027ed01a7812e940194dbec (diff)
downloadlinux-3.10-340fcb5cb4c91e58a5102beb0b86b9c416b8c956.tar.gz
linux-3.10-340fcb5cb4c91e58a5102beb0b86b9c416b8c956.tar.bz2
linux-3.10-340fcb5cb4c91e58a5102beb0b86b9c416b8c956.zip
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 f59b687dc32..ccb6c0c7152 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -860,11 +860,19 @@ config ARCH_S5PV210
help
Samsung S5PV210/S5PC110 series based systems
-config ARCH_EXYNOS_SINGLE
+config ARCH_EXYNOS
bool "Samsung EXYNOS"
+ select ARCH_HAS_CPUFREQ
select ARCH_HAS_HOLES_MEMORYMODEL
select ARCH_SPARSEMEM_ENABLE
+ select CLKDEV_LOOKUP
+ select COMMON_CLK
+ 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 ae90a0f7d53..bffe68e190a 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_SINGLE=y
+CONFIG_ARCH_EXYNOS=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 a77db362a88..b1cdff6f537 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -7,21 +7,6 @@
# 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"
@@ -34,9 +19,6 @@ 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
@@ -53,7 +35,7 @@ config CPU_EXYNOS4210
select PM_GENERIC_DOMAINS
select S5P_PM if PM
select S5P_SLEEP if PM
- select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE
+ select SAMSUNG_DMADEV
help
Enable EXYNOS4210 CPU support
@@ -63,7 +45,7 @@ config SOC_EXYNOS4212
depends on ARCH_EXYNOS4
select S5P_PM if PM
select S5P_SLEEP if PM
- select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE
+ select SAMSUNG_DMADEV
help
Enable EXYNOS4212 SoC support
@@ -71,7 +53,7 @@ config SOC_EXYNOS4412
bool "SAMSUNG EXYNOS4412"
default y
depends on ARCH_EXYNOS4
- select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE
+ select SAMSUNG_DMADEV
help
Enable EXYNOS4412 SoC support
@@ -83,7 +65,7 @@ config SOC_EXYNOS5250
select S5P_PM if PM
select S5P_SLEEP if PM
select S5P_DEV_MFC
- select SAMSUNG_DMADEV if ARCH_EXYNOS_SINGLE
+ select SAMSUNG_DMADEV
help
Enable EXYNOS5250 SoC support
diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile
index e26d05c5249..d2f6b362b6d 100644
--- a/arch/arm/mach-exynos/Makefile
+++ b/arch/arm/mach-exynos/Makefile
@@ -4,7 +4,6 @@
# 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 :=
@@ -43,12 +42,12 @@ obj-$(CONFIG_MACH_EXYNOS5_DT) += mach-exynos5-dt.o
# device support
obj-y += dev-uart.o
-obj-$(CONFIG_ARCH_EXYNOS4_SINGLE) += dev-audio.o
+obj-$(CONFIG_ARCH_EXYNOS4) += 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_SINGLE) += setup-i2c0.o
+obj-$(CONFIG_ARCH_EXYNOS) += 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 a3ab0ecc7c6..939bda77def 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)
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();
@@ -549,8 +546,6 @@ 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);
@@ -857,7 +852,6 @@ static int __init exynos_init_irq_eint(void)
return 0;
}
arch_initcall(exynos_init_irq_eint);
-#endif
static struct resource exynos4_pmu_resource[] = {
DEFINE_RES_IRQ(EXYNOS4_IRQ_PMU),
diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig
index 77dd30af32f..6cb19c6aa9d 100644
--- a/arch/arm/plat-samsung/Kconfig
+++ b/arch/arm/plat-samsung/Kconfig
@@ -13,10 +13,6 @@ 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)
@@ -27,7 +23,7 @@ config PLAT_S5P
select GIC_NON_BANKED if ARCH_EXYNOS4
select NO_IOPORT
select PLAT_SAMSUNG
- select S3C_GPIO_TRACK if PLAT_SAMSUNG_SINGLE
+ select S3C_GPIO_TRACK
select S5P_GPIO_DRVSTR
select SAMSUNG_CLKSRC if !COMMON_CLK
select SAMSUNG_GPIOLIB_4BIT
@@ -182,7 +178,6 @@ 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 f38ce8489df..a23c460299a 100644
--- a/arch/arm/plat-samsung/Makefile
+++ b/arch/arm/plat-samsung/Makefile
@@ -4,9 +4,6 @@
#
# 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
@@ -36,7 +33,7 @@ obj-$(CONFIG_S3C_ADC) += adc.o
obj-y += platformdata.o
-obj-$(CONFIG_PLAT_SAMSUNG_SINGLE) += devs.o
+obj-y += 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
@@ -53,10 +50,9 @@ 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 266a4e3e245..f6fcadeee96 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);
*/
extern void s3c_pm_configure_extint(void);
-#ifdef CONFIG_PLAT_SAMSUNG_SINGLE
/**
* samsung_pm_restore_gpios() - restore the state of the gpios after sleep.
*
@@ -182,10 +181,6 @@ 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 7b6f8105d35..a274d7df3c8 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_SINGLE) += gpio-samsung.o
+obj-$(CONFIG_PLAT_SAMSUNG) += gpio-samsung.o
obj-$(CONFIG_ARCH_SA1100) += gpio-sa1100.o
obj-$(CONFIG_GPIO_SCH) += gpio-sch.o
obj-$(CONFIG_GPIO_SODAVILLE) += gpio-sodaville.o