diff options
author | Arnd Bergmann <arnd@arndb.de> | 2014-06-13 06:04:39 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-06-17 11:09:37 -0400 |
commit | 27873b052e6e54eec606ed93f26be4b26d6e9d17 (patch) | |
tree | 2c70c1b7427bcca9dc3d062bcbd42339ada7a87c | |
parent | 8c0945240e2449b47ba49754ee3e06ef4746226f (diff) |
ARM: samsung: make SAMSUNG_DMADEV optional
The only remaining driver using the samsung dmadev code is the broken
samsung-ac97 sound driver. However, as found by Russell's autobuilder,
the elaborate dependency chains around it cause problems with
circular dependencies.
This is an attempt to simplify those dependencies by making the
SAMSUNG_DMADEV option user-selectable. I also try to keep the
default settings for all related options unchanged, so we don't
introduce any regressions against earlier testing on linux-next.
In particular, all s3c64xx and s5p* platforms keep selecting the
pl330 and pl08x drivers they require, but the select statement
is now moved towards the main platform option, and it remains
optional by unselecting CONFIG_DMADEVICES.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r-- | arch/arm/mach-s3c24xx/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm/mach-s5p64x0/Kconfig | 6 | ||||
-rw-r--r-- | arch/arm/mach-s5pc100/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-s5pv210/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/plat-samsung/Kconfig | 11 |
6 files changed, 16 insertions, 13 deletions
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig index 04284de7aca5..ad5316ae524e 100644 --- a/arch/arm/mach-s3c24xx/Kconfig +++ b/arch/arm/mach-s3c24xx/Kconfig | |||
@@ -117,7 +117,7 @@ config S3C24XX_SETUP_TS | |||
117 | Compile in platform device definition for Samsung TouchScreen. | 117 | Compile in platform device definition for Samsung TouchScreen. |
118 | 118 | ||
119 | config S3C24XX_DMA | 119 | config S3C24XX_DMA |
120 | bool "S3C2410 DMA support" | 120 | bool "S3C2410 DMA support (deprecated)" |
121 | select S3C_DMA | 121 | select S3C_DMA |
122 | help | 122 | help |
123 | S3C2410 DMA support. This is needed for drivers like sound which | 123 | S3C2410 DMA support. This is needed for drivers like sound which |
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig index 3136d86b0d6e..26ca2427e53d 100644 --- a/arch/arm/mach-s3c64xx/Kconfig +++ b/arch/arm/mach-s3c64xx/Kconfig | |||
@@ -18,9 +18,9 @@ config CPU_S3C6410 | |||
18 | Enable S3C6410 CPU support | 18 | Enable S3C6410 CPU support |
19 | 19 | ||
20 | config S3C64XX_PL080 | 20 | config S3C64XX_PL080 |
21 | bool "S3C64XX DMA using generic PL08x driver" | 21 | def_bool DMADEVICES |
22 | select ARM_AMBA | ||
22 | select AMBA_PL08X | 23 | select AMBA_PL08X |
23 | select SAMSUNG_DMADEV | ||
24 | 24 | ||
25 | config S3C64XX_SETUP_SDHCI | 25 | config S3C64XX_SETUP_SDHCI |
26 | bool | 26 | bool |
diff --git a/arch/arm/mach-s5p64x0/Kconfig b/arch/arm/mach-s5p64x0/Kconfig index bb2111b3751e..26003e23796d 100644 --- a/arch/arm/mach-s5p64x0/Kconfig +++ b/arch/arm/mach-s5p64x0/Kconfig | |||
@@ -9,16 +9,18 @@ if ARCH_S5P64X0 | |||
9 | 9 | ||
10 | config CPU_S5P6440 | 10 | config CPU_S5P6440 |
11 | bool | 11 | bool |
12 | select ARM_AMBA | ||
13 | select PL330_DMA if DMADEVICES | ||
12 | select S5P_SLEEP if PM | 14 | select S5P_SLEEP if PM |
13 | select SAMSUNG_DMADEV | ||
14 | select SAMSUNG_WAKEMASK if PM | 15 | select SAMSUNG_WAKEMASK if PM |
15 | help | 16 | help |
16 | Enable S5P6440 CPU support | 17 | Enable S5P6440 CPU support |
17 | 18 | ||
18 | config CPU_S5P6450 | 19 | config CPU_S5P6450 |
19 | bool | 20 | bool |
21 | select ARM_AMBA | ||
22 | select PL330_DMA if DMADEVICES | ||
20 | select S5P_SLEEP if PM | 23 | select S5P_SLEEP if PM |
21 | select SAMSUNG_DMADEV | ||
22 | select SAMSUNG_WAKEMASK if PM | 24 | select SAMSUNG_WAKEMASK if PM |
23 | help | 25 | help |
24 | Enable S5P6450 CPU support | 26 | Enable S5P6450 CPU support |
diff --git a/arch/arm/mach-s5pc100/Kconfig b/arch/arm/mach-s5pc100/Kconfig index 15170be97a74..c5e3a969b063 100644 --- a/arch/arm/mach-s5pc100/Kconfig +++ b/arch/arm/mach-s5pc100/Kconfig | |||
@@ -9,8 +9,9 @@ if ARCH_S5PC100 | |||
9 | 9 | ||
10 | config CPU_S5PC100 | 10 | config CPU_S5PC100 |
11 | bool | 11 | bool |
12 | select ARM_AMBA | ||
13 | select PL330_DMA if DMADEVICES | ||
12 | select S5P_EXT_INT | 14 | select S5P_EXT_INT |
13 | select SAMSUNG_DMADEV | ||
14 | help | 15 | help |
15 | Enable S5PC100 CPU support | 16 | Enable S5PC100 CPU support |
16 | 17 | ||
diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig index 8c3abe521757..f60f2862856d 100644 --- a/arch/arm/mach-s5pv210/Kconfig +++ b/arch/arm/mach-s5pv210/Kconfig | |||
@@ -11,10 +11,11 @@ if ARCH_S5PV210 | |||
11 | 11 | ||
12 | config CPU_S5PV210 | 12 | config CPU_S5PV210 |
13 | bool | 13 | bool |
14 | select ARM_AMBA | ||
15 | select PL330_DMA if DMADEVICES | ||
14 | select S5P_EXT_INT | 16 | select S5P_EXT_INT |
15 | select S5P_PM if PM | 17 | select S5P_PM if PM |
16 | select S5P_SLEEP if PM | 18 | select S5P_SLEEP if PM |
17 | select SAMSUNG_DMADEV | ||
18 | help | 19 | help |
19 | Enable S5PV210 CPU support | 20 | Enable S5PV210 CPU support |
20 | 21 | ||
diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig index 243dfcb2ca0e..91911e47a8a1 100644 --- a/arch/arm/plat-samsung/Kconfig +++ b/arch/arm/plat-samsung/Kconfig | |||
@@ -407,17 +407,16 @@ config SAMSUNG_PM_GPIO | |||
407 | Include legacy GPIO power management code for platforms not using | 407 | Include legacy GPIO power management code for platforms not using |
408 | pinctrl-samsung driver. | 408 | pinctrl-samsung driver. |
409 | 409 | ||
410 | endif | ||
411 | |||
412 | config SAMSUNG_DMADEV | 410 | config SAMSUNG_DMADEV |
413 | bool | 411 | bool "Use legacy Samsung DMA abstraction" |
414 | select ARM_AMBA | 412 | depends on CPU_S5PV210 || CPU_S5PC100 || ARCH_S5P64X0 || ARCH_S3C64XX |
415 | select DMADEVICES | 413 | select DMADEVICES |
416 | select PL330_DMA if (ARCH_EXYNOS5 || ARCH_EXYNOS4 || CPU_S5PV210 || CPU_S5PC100 || \ | 414 | default y |
417 | CPU_S5P6450 || CPU_S5P6440) | ||
418 | help | 415 | help |
419 | Use DMA device engine for PL330 DMAC. | 416 | Use DMA device engine for PL330 DMAC. |
420 | 417 | ||
418 | endif | ||
419 | |||
421 | config S5P_DEV_MFC | 420 | config S5P_DEV_MFC |
422 | bool | 421 | bool |
423 | help | 422 | help |