]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ARM: EXYNOS: Decouple ARCH_EXYNOS from PLAT_S5P
authorTomasz Figa <t.figa@samsung.com>
Tue, 18 Jun 2013 16:26:42 +0000 (01:26 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Tue, 18 Jun 2013 16:26:42 +0000 (01:26 +0900)
After removing support for ATAGS based boot on Exynos, there is not much
that can be shared between Exynos and other S5P platforms. This patch
makes Exynos a standalone Samsung platform, not using PLAT_S5P.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/mach-exynos/Kconfig
arch/arm/plat-samsung/Kconfig
arch/arm/plat-samsung/pm-gpio.c

index 15e599437e965c36126cc8fde061564c9338dfef..a4e32fd9bb4a6af21e260666c37670196904e5ae 100644 (file)
@@ -795,7 +795,9 @@ config ARCH_EXYNOS
        bool "Samsung EXYNOS"
        select ARCH_HAS_CPUFREQ
        select ARCH_HAS_HOLES_MEMORYMODEL
+       select ARCH_REQUIRE_GPIOLIB
        select ARCH_SPARSEMEM_ENABLE
+       select ARM_GIC
        select CLKDEV_LOOKUP
        select COMMON_CLK
        select CPU_V7
@@ -807,6 +809,7 @@ config ARCH_EXYNOS
        select HAVE_S3C_RTC if RTC_CLASS
        select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
+       select S5P_GPIO_DRVSTR
        select SAMSUNG_ATAGS
        select USE_OF
        help
index 1ba358ba16b871aec3b366cab9b4e4066048e69c..60133fb4d6c3c081bc1a16471a9c2ff9a43b56ad 100644 (file)
@@ -197,6 +197,7 @@ machine-$(CONFIG_ARCH_SUNXI)                += sunxi
 
 # Platform directory name.  This list is sorted alphanumerically
 # by CONFIG_* macro name.
+plat-$(CONFIG_ARCH_EXYNOS)     += samsung
 plat-$(CONFIG_ARCH_OMAP)       += omap
 plat-$(CONFIG_ARCH_S3C64XX)    += samsung
 plat-$(CONFIG_PLAT_IOP)                += iop
index 2bc2696153f94318865d48794db7444fdc404abe..1f356790a4f421b22bb039f3b4992180ac111655 100644 (file)
@@ -14,6 +14,7 @@ menu "SAMSUNG EXYNOS SoCs Support"
 config ARCH_EXYNOS4
        bool "SAMSUNG EXYNOS4"
        default y
+       select GIC_NON_BANKED
        select HAVE_ARM_SCU if SMP
        select HAVE_SMP
        select MIGHT_HAVE_CACHE_L2X0
index 7b08b2678b1a6bfe99a1a8bf6ff725b3b0ecc876..ca27cc9ac4bff0218ff909d2f018cdbaeafe5b5a 100644 (file)
@@ -6,7 +6,7 @@
 
 config PLAT_SAMSUNG
        bool
-       depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P
+       depends on PLAT_S3C24XX || ARCH_S3C64XX || PLAT_S5P || ARCH_EXYNOS
        default y
        select GENERIC_IRQ_CHIP
        select NO_IOPORT
@@ -15,12 +15,10 @@ config PLAT_SAMSUNG
 
 config PLAT_S5P
        bool
-       depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS)
+       depends on (ARCH_S5P64X0 || ARCH_S5PC100 || ARCH_S5PV210)
        default y
        select ARCH_REQUIRE_GPIOLIB
-       select ARM_GIC if ARCH_EXYNOS
-       select ARM_VIC if !ARCH_EXYNOS
-       select GIC_NON_BANKED if ARCH_EXYNOS4
+       select ARM_VIC
        select NO_IOPORT
        select PLAT_SAMSUNG
        select S3C_GPIO_TRACK
index c2ff92c30bdf2caaf688f632ea0bcfb516e9c807..a8de3cfe2ee1318abb914bfc81dea541eb7d9e3e 100644 (file)
@@ -192,7 +192,8 @@ struct samsung_gpio_pm samsung_gpio_pm_2bit = {
        .resume = samsung_gpio_pm_2bit_resume,
 };
 
-#if defined(CONFIG_ARCH_S3C64XX) || defined(CONFIG_PLAT_S5P)
+#if defined(CONFIG_ARCH_S3C64XX) || defined(CONFIG_PLAT_S5P) \
+       || defined(CONFIG_ARCH_EXYNOS)
 static void samsung_gpio_pm_4bit_save(struct samsung_gpio_chip *chip)
 {
        chip->pm_save[1] = __raw_readl(chip->base + OFFS_CON);
@@ -302,7 +303,7 @@ struct samsung_gpio_pm samsung_gpio_pm_4bit = {
        .save   = samsung_gpio_pm_4bit_save,
        .resume = samsung_gpio_pm_4bit_resume,
 };
-#endif /* CONFIG_ARCH_S3C64XX || CONFIG_PLAT_S5P */
+#endif /* CONFIG_ARCH_S3C64XX || CONFIG_PLAT_S5P || CONFIG_ARCH_EXYNOS */
 
 /**
  * samsung_pm_save_gpio() - save gpio chip data for suspend