From 4923ee444a39c8b75027ed01a7812e940194dbec Mon Sep 17 00:00:00 2001 From: Olof Johansson Date: Fri, 26 Apr 2013 11:32:02 -0700 Subject: [PATCH] Revert "ARM: exynos: enable multiplatform support" This reverts commit bd51de53e1be9896d815bbea30560262216d4616. Turns out that multiplatform breaks some uses cases, such as when you have an existing defconfig, since it adds the new EXYNOS_SINGLE config option as a dependecy. As a result, nearly all exynos config options will be disabled by default. Reverting instead of rebasing since this branch is pulled in as a dependency elsewhere. Signed-off-by: Olof Johansson --- arch/arm/Kconfig | 9 ++++++++- arch/arm/configs/exynos4_defconfig | 2 +- arch/arm/mach-exynos/Kconfig | 25 ++++--------------------- 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, 19 insertions(+), 50 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b375a94fe292..13b739469c51 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -853,11 +853,18 @@ 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 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 ae90a0f7d53c..bffe68e190a3 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 1d69c62fe3d8..d8c251b13ab8 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig @@ -7,20 +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 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" @@ -33,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 @@ -52,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 @@ -62,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 @@ -70,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 @@ -81,7 +64,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 57e9124d95e0..435757e57bb4 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 := @@ -49,12 +48,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 83bd3f0e1519..d63d399c7bae 100644 --- a/arch/arm/mach-exynos/common.c +++ b/arch/arm/mach-exynos/common.c @@ -368,9 +368,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(); @@ -573,8 +570,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); @@ -880,4 +875,3 @@ 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 8aae6816ebc2..a9d52167e16e 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 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 cf684b2eb6fc..3a7c64d1814a 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 @@ -37,7 +34,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 @@ -54,10 +51,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 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); */ 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 6c16050d1577..22e07bc9fcb5 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