ARM: SAMSUNG: Introduce SAMSUNG_ATAGS Kconfig entry
authorTomasz Figa <t.figa@samsung.com>
Sat, 15 Jun 2013 00:01:49 +0000 (09:01 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Sat, 15 Jun 2013 00:32:33 +0000 (09:32 +0900)
This patch adds a Kconfig entry that enables compilation of legacy
support code required for Samsung platforms that require ATAGS based
boot.

This allows to bypass compilation of this code when platforms without
ATAGS support are selected.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/Kconfig
arch/arm/plat-samsung/Kconfig
arch/arm/plat-samsung/Makefile

index fc20cfc471d0100d7635a65aff809d3fe63a5bc6..aa8dcfc279034e0bb936ea7352cac27fe928e349 100644 (file)
@@ -702,6 +702,7 @@ config ARCH_S3C24XX
        select MULTI_IRQ_HANDLER
        select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H
+       select SAMSUNG_ATAGS
        help
          Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
          and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
@@ -726,6 +727,7 @@ config ARCH_S3C64XX
        select PLAT_SAMSUNG
        select S3C_DEV_NAND
        select S3C_GPIO_TRACK
+       select SAMSUNG_ATAGS
        select SAMSUNG_CLKSRC
        select SAMSUNG_GPIOLIB_4BIT
        select SAMSUNG_IRQ_VIC_TIMER
@@ -744,6 +746,7 @@ config ARCH_S5P64X0
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
        select HAVE_S3C_RTC if RTC_CLASS
        select NEED_MACH_GPIO_H
+       select SAMSUNG_ATAGS
        help
          Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
          SMDK6450.
@@ -760,6 +763,7 @@ config ARCH_S5PC100
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
        select HAVE_S3C_RTC if RTC_CLASS
        select NEED_MACH_GPIO_H
+       select SAMSUNG_ATAGS
        help
          Samsung S5PC100 series based systems
 
@@ -778,6 +782,7 @@ config ARCH_S5PV210
        select HAVE_S3C_RTC if RTC_CLASS
        select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
+       select SAMSUNG_ATAGS
        help
          Samsung S5PV210/S5PC110 series based systems
 
@@ -796,6 +801,7 @@ config ARCH_EXYNOS
        select HAVE_S3C_RTC if RTC_CLASS
        select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
+       select SAMSUNG_ATAGS
        select USE_OF
        help
          Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
index f8ed2de0a6783cfe498577b3cab7de531b192761..c0f0542e6dfc625eb4164ff1d6208532518af1b3 100644 (file)
@@ -60,6 +60,20 @@ config S3C_LOWLEVEL_UART_PORT
          this configuration should be between zero and two. The port
          must have been initialised by the boot-loader before use.
 
+config SAMSUNG_ATAGS
+       def_bool n
+       depends on !ARCH_MULTIPLATFORM
+       depends on ATAGS
+       help
+          This option enables ATAGS based boot support code for
+          Samsung platforms, including static platform devices, legacy
+          clock, timer and interrupt initialization, etc.
+
+          Platforms that support only DT based boot need not to select
+          this option.
+
+if SAMSUNG_ATAGS
+
 # timer options
 
 config SAMSUNG_HRT
@@ -367,11 +381,6 @@ config S5P_DEV_JPEG
        help
          Compile in platform device definitions for JPEG codec
 
-config S5P_DEV_MFC
-       bool
-       help
-         Compile in setup memory (init) code for MFC
-
 config S5P_DEV_ONENAND
        bool
        help
@@ -412,6 +421,8 @@ config S3C_DMA
        help
          Internal configuration for S3C DMA core
 
+endif
+
 config SAMSUNG_DMADEV
        bool
        select ARM_AMBA
@@ -421,6 +432,11 @@ config SAMSUNG_DMADEV
        help
          Use DMA device engine for PL330 DMAC.
 
+config S5P_DEV_MFC
+       bool
+       help
+         Compile in setup memory (init) code for MFC
+
 comment "Power management"
 
 config SAMSUNG_PM_DEBUG
index a23c460299a19bc003dd73003aa5e1e04605a24f..b549ea9cfe0946c74993c7d72051fc6a7ffc33c3 100644 (file)
@@ -31,10 +31,10 @@ obj-$(CONFIG_S3C_ADC)       += adc.o
 
 # devices
 
-obj-y                          += platformdata.o
+obj-$(CONFIG_SAMSUNG_ATAGS)    += platformdata.o
 
-obj-y                          += devs.o
-obj-y                          += dev-uart.o
+obj-$(CONFIG_SAMSUNG_ATAGS)    += devs.o
+obj-$(CONFIG_SAMSUNG_ATAGS)    += dev-uart.o
 obj-$(CONFIG_S5P_DEV_MFC)      += s5p-dev-mfc.o
 obj-$(CONFIG_S5P_DEV_UART)     += s5p-dev-uart.o