clk: samsung: Don't build ARMv8 clock drivers on ARMv7
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Tue, 16 Feb 2016 06:20:31 +0000 (15:20 +0900)
committerMichael Turquette <mturquette@baylibre.com>
Mon, 22 Feb 2016 18:20:24 +0000 (10:20 -0800)
Currently the Exynos5433 (ARMv8 SoC) clock driver depends on ARCH_EXYNOS
so it is built also on ARMv7. This does not bring any kind of benefit.
There won't be a single kernel image for ARMv7 and ARMv8 SoCs (like
multi_v7 for ARMv7).

Instead build clock drivers only for respective SoC's architecture.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Michael Turquette <mturquette@baylibre.com>
drivers/clk/samsung/Kconfig
drivers/clk/samsung/Makefile

index dd6093a33f84edc0c3942679b1f11c11781c85eb..20c5fe92ab4adf9da4e655e264f2ba1d486bd8b5 100644 (file)
@@ -1,6 +1,15 @@
+# Recent Exynos platforms should just select COMMON_CLK_SAMSUNG:
 config COMMON_CLK_SAMSUNG
        bool "Samsung Exynos clock controller support" if COMPILE_TEST
+       # Clocks on ARM64 SoCs (e.g. Exynos5433, Exynos7) are chosen by
+       # EXYNOS_ARM64_COMMON_CLK to avoid building them on ARMv7:
+       select EXYNOS_ARM64_COMMON_CLK if ARM64 && ARCH_EXYNOS
 
+config EXYNOS_ARM64_COMMON_CLK
+       bool "Samsung Exynos ARMv8-family clock controller support" if COMPILE_TEST
+       depends on COMMON_CLK_SAMSUNG
+
+# For S3C24XX platforms, select following symbols:
 config S3C2410_COMMON_CLK
        bool "Samsung S3C2410 clock controller support" if COMPILE_TEST
        select COMMON_CLK_SAMSUNG
@@ -22,4 +31,3 @@ config S3C2412_COMMON_CLK
 config S3C2443_COMMON_CLK
        bool "Samsung S3C2443 clock controller support" if COMPILE_TEST
        select COMMON_CLK_SAMSUNG
-
index 5f6833ea355d686a5d1429133715cf1ba1f48795..fc367d4b2902b14286ff4075f6d452612dd08f01 100644 (file)
@@ -10,11 +10,11 @@ obj-$(CONFIG_SOC_EXYNOS5250)        += clk-exynos5250.o
 obj-$(CONFIG_SOC_EXYNOS5260)   += clk-exynos5260.o
 obj-$(CONFIG_SOC_EXYNOS5410)   += clk-exynos5410.o
 obj-$(CONFIG_SOC_EXYNOS5420)   += clk-exynos5420.o
-obj-$(CONFIG_ARCH_EXYNOS)      += clk-exynos5433.o
+obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK)  += clk-exynos5433.o
 obj-$(CONFIG_SOC_EXYNOS5440)   += clk-exynos5440.o
 obj-$(CONFIG_ARCH_EXYNOS)      += clk-exynos-audss.o
 obj-$(CONFIG_ARCH_EXYNOS)      += clk-exynos-clkout.o
-obj-$(CONFIG_ARCH_EXYNOS7)     += clk-exynos7.o
+obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK)  += clk-exynos7.o
 obj-$(CONFIG_S3C2410_COMMON_CLK)+= clk-s3c2410.o
 obj-$(CONFIG_S3C2410_COMMON_DCLK)+= clk-s3c2410-dclk.o
 obj-$(CONFIG_S3C2412_COMMON_CLK)+= clk-s3c2412.o