Thread (18 messages) 18 messages, 6 authors, 2015-11-19

[PATCH 1/2] clk: samsung: Don't build ARMv8 clock drivers on ARMv7

From: s.nawrocki@samsung.com (Sylwester Nawrocki)
Date: 2015-11-17 14:03:03
Also in: linux-clk, linux-samsung-soc, lkml

On 17/11/15 05:39, Krzysztof Kozlowski wrote:
On 17.11.2015 13:31, pankaj.dubey wrote:
quoted
On Monday 16 November 2015 07:06 AM, Krzysztof Kozlowski wrote:
quoted
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 <redacted>
---
 drivers/clk/samsung/Kconfig  | 13 +++++++++++++
 drivers/clk/samsung/Makefile |  4 ++--
 2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/samsung/Kconfig b/drivers/clk/samsung/Kconfig
index 84196ecdaa12..5f138fc4d84d 100644
--- a/drivers/clk/samsung/Kconfig
+++ b/drivers/clk/samsung/Kconfig
@@ -2,6 +2,7 @@ config COMMON_CLK_SAMSUNG
 	bool
 	select COMMON_CLK
 
+# ARMv7 SoCs:
 config S3C2410_COMMON_CLK
 	bool
 	select COMMON_CLK_SAMSUNG
@@ -24,3 +25,15 @@ config S3C2443_COMMON_CLK
 	bool
 	select COMMON_CLK_SAMSUNG
 
+# ARMv8 SoCs:
+config EXYNOS5433_COMMON_CLK
+	bool
+	depends on ARM64 || COMPILE_TEST
+	default ARCH_EXYNOS
+	select COMMON_CLK_SAMSUNG
+
+config EXYNOS7_COMMON_CLK
+	bool
+	depends on ARM64 || COMPILE_TEST
+	default ARCH_EXYNOS
+	select COMMON_CLK_SAMSUNG
diff --git a/drivers/clk/samsung/Makefile b/drivers/clk/samsung/Makefile
index 5f6833ea355d..a31332a24ef4 100644
--- a/drivers/clk/samsung/Makefile
+++ b/drivers/clk/samsung/Makefile
@@ -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_EXYNOS5433_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_EXYNOS7_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
So in this approach we need to add separate config for clock support of
each ARM64 Exynos64 SoC. Is this fine?

Can we club compilation of each ARM64 Exynos SoC clock file under
EXYNOS7_COMMON_CLK? As for all ARM64 SoC there is single defconfig and
binary.
Yes, it can be one config symbol for all clocks of ARMv8 Exynos SoCs.
From my point of view both has some advantages and disadvantages (kernel
size, granularity, number of Kconfig symbols etc.) and I don't mind
choosing different than I selected before.

Any opinion from Samsung clock maintainers? Which do you prefer?
It would have been a bit unfortunate to not be able to exclude
the unneeded clk drivers from build.  From my side both patches
look like a step in right direction.

For the $subject patch:

Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

-- 
Thanks
Sylwester
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help