All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/3] arm64/clk: EXYNOS: Consolidate Exynos7 symbol
@ 2016-01-28  0:35 ` Krzysztof Kozlowski
  0 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2016-01-28  0:35 UTC (permalink / raw)
  To: Kukjin Kim, Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
	Michael Turquette, Stephen Boyd, Sylwester Nawrocki, Tomasz Figa,
	linux-arm-kernel, linux-samsung-soc, linux-kernel, devicetree,
	linux-clk
  Cc: Arnd Bergmann, Olof Johansson, Kevin Hilman, Alim Akhtar,
	Pankaj Dubey, Chanwoo Choi

Hi,

Patchset attempts to remove the ARCH_EXYNOS7 symbol.

All patches depend on previous ones so no cherry-picked.
I was thinking about merging this through arm-soc tree after getting
needed acks (clk, arm-soc?).


Changes since v3:
=================
1. Rebase on next-20160127 (s3c64xx became multiplatform).

Changes since v2:
=================
1. Follow Arnd's advice about not enabling silently the newly added
   EXYNOS_ARM64_COMMON_CLK, when COMPILE_TEST is enabled. This was
   also a trigger for some changes in placement of Samsung clocks
   Kconfig entries...
2. ... which lead to introducing patch 1.


Logic:
======
Now the clock selection algorithm works like:
1. For Exynos ARMv7 and ARMv8 the platforms select COMMON_CLK
   and COMMON_CLK_SAMSUNG.
2. As before: clock drivers for Exynos ARMv7 will be selected by
   respective SOC/ARCH_EXYNOS_XXX symbol.
3. For Exynos ARMv8 the clock drivers will be enabled by default
   by EXYNOS_ARM64_COMMON_CLK symbol.

Rationale:
==========
We don't need ARCH_EXYNOS7 symbol because all ARMv8 platforms should
fall under generic ARCH_EXYNOS. In the same time there is no sense
in building clocks for these ARMv8 SoCs on ARMv7 builds.


Best regards,
Krzysztof


Krzysztof Kozlowski (3):
  clk: samsung: Enable COMPILE_TEST for Samsung clocks
  clk: samsung: Don't build ARMv8 clock drivers on ARMv7
  arm64: EXYNOS: Consolidate ARCH_EXYNOS7 symbol into ARCH_EXYNOS

 arch/arm/mach-exynos/Kconfig        |  1 +
 arch/arm/mach-s3c24xx/Kconfig       |  8 ++++++++
 arch/arm/mach-s3c64xx/Kconfig       |  1 +
 arch/arm/mach-s5pv210/Kconfig       |  1 +
 arch/arm64/Kconfig.platforms        | 12 +++---------
 arch/arm64/boot/dts/exynos/Makefile |  2 +-
 arch/arm64/configs/defconfig        |  2 +-
 drivers/clk/Kconfig                 |  2 +-
 drivers/clk/samsung/Kconfig         | 14 +++++++++-----
 drivers/clk/samsung/Makefile        |  4 ++--
 10 files changed, 28 insertions(+), 19 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v4 0/3] arm64/clk: EXYNOS: Consolidate Exynos7 symbol
@ 2016-01-28  0:35 ` Krzysztof Kozlowski
  0 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2016-01-28  0:35 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

Patchset attempts to remove the ARCH_EXYNOS7 symbol.

All patches depend on previous ones so no cherry-picked.
I was thinking about merging this through arm-soc tree after getting
needed acks (clk, arm-soc?).


Changes since v3:
=================
1. Rebase on next-20160127 (s3c64xx became multiplatform).

Changes since v2:
=================
1. Follow Arnd's advice about not enabling silently the newly added
   EXYNOS_ARM64_COMMON_CLK, when COMPILE_TEST is enabled. This was
   also a trigger for some changes in placement of Samsung clocks
   Kconfig entries...
2. ... which lead to introducing patch 1.


Logic:
======
Now the clock selection algorithm works like:
1. For Exynos ARMv7 and ARMv8 the platforms select COMMON_CLK
   and COMMON_CLK_SAMSUNG.
2. As before: clock drivers for Exynos ARMv7 will be selected by
   respective SOC/ARCH_EXYNOS_XXX symbol.
3. For Exynos ARMv8 the clock drivers will be enabled by default
   by EXYNOS_ARM64_COMMON_CLK symbol.

Rationale:
==========
We don't need ARCH_EXYNOS7 symbol because all ARMv8 platforms should
fall under generic ARCH_EXYNOS. In the same time there is no sense
in building clocks for these ARMv8 SoCs on ARMv7 builds.


Best regards,
Krzysztof


Krzysztof Kozlowski (3):
  clk: samsung: Enable COMPILE_TEST for Samsung clocks
  clk: samsung: Don't build ARMv8 clock drivers on ARMv7
  arm64: EXYNOS: Consolidate ARCH_EXYNOS7 symbol into ARCH_EXYNOS

 arch/arm/mach-exynos/Kconfig        |  1 +
 arch/arm/mach-s3c24xx/Kconfig       |  8 ++++++++
 arch/arm/mach-s3c64xx/Kconfig       |  1 +
 arch/arm/mach-s5pv210/Kconfig       |  1 +
 arch/arm64/Kconfig.platforms        | 12 +++---------
 arch/arm64/boot/dts/exynos/Makefile |  2 +-
 arch/arm64/configs/defconfig        |  2 +-
 drivers/clk/Kconfig                 |  2 +-
 drivers/clk/samsung/Kconfig         | 14 +++++++++-----
 drivers/clk/samsung/Makefile        |  4 ++--
 10 files changed, 28 insertions(+), 19 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v4 1/3] clk: samsung: Enable COMPILE_TEST for Samsung clocks
  2016-01-28  0:35 ` Krzysztof Kozlowski
  (?)
@ 2016-01-28  0:35   ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2016-01-28  0:35 UTC (permalink / raw)
  To: Kukjin Kim, Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
	Michael Turquette, Stephen Boyd, Sylwester Nawrocki, Tomasz Figa,
	linux-arm-kernel, linux-samsung-soc, linux-kernel, devicetree,
	linux-clk
  Cc: Arnd Bergmann, Olof Johansson, Kevin Hilman, Alim Akhtar,
	Pankaj Dubey, Chanwoo Choi

Enable the COMPILE_TEST to get build coverage of some of Samsung clock
controller drivers. Still some of them will be built only if
appropriate SoC is chosen (like SOC_EXYNOS4415 or ARCH_S3C64XX).

Anyway in case of COMPILE_TEST the Samsung clocks would show up in main
drivers section because they are not inside the "Common Clock Framework"
menu item. Move them under the "Common Clock Framework".

This changes the logic of selecting Samsung clocks from specific
architectures. Now the COMMON_CLK should be selected before selecting
specific clock (like S3C2410_COMMON_CLK or COMMON_CLK_SAMSUNG).

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

---

Changes since v3:
1. Rebase on next-20160127 (s3c64xx became multiplatform)

Changes since v2:
1. New patch.
---
 arch/arm/mach-exynos/Kconfig  | 1 +
 arch/arm/mach-s3c24xx/Kconfig | 8 ++++++++
 arch/arm/mach-s3c64xx/Kconfig | 1 +
 arch/arm/mach-s5pv210/Kconfig | 1 +
 arch/arm64/Kconfig.platforms  | 1 +
 drivers/clk/Kconfig           | 2 +-
 drivers/clk/samsung/Kconfig   | 9 ++++-----
 7 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index aeadd2aa12cf..b166ffc28f5c 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -15,6 +15,7 @@ menuconfig ARCH_EXYNOS
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_AMBA
 	select ARM_GIC
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select EXYNOS_THERMAL
 	select EXYNOS_PMU
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index ef68ecb27396..5f02f1fa970d 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -28,6 +28,7 @@ config CPU_S3C2410
 	bool "SAMSUNG S3C2410"
 	default y
 	select CPU_ARM920T
+	select COMMON_CLK
 	select S3C2410_COMMON_CLK
 	select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ
 	select S3C2410_PM if PM
@@ -54,6 +55,7 @@ config CPU_S3C2416
 config CPU_S3C2440
 	bool "SAMSUNG S3C2440"
 	select CPU_ARM920T
+	select COMMON_CLK
 	select S3C2410_COMMON_CLK
 	select S3C2410_PM if PM_SLEEP
 	help
@@ -62,6 +64,7 @@ config CPU_S3C2440
 config CPU_S3C2442
 	bool "SAMSUNG S3C2442"
 	select CPU_ARM920T
+	select COMMON_CLK
 	select S3C2410_COMMON_CLK
 	select S3C2410_PM if PM_SLEEP
 	help
@@ -196,6 +199,7 @@ config ARCH_BAST
 	bool "Simtec Electronics BAST (EB2410ITX)"
 	select ISA
 	select MACH_BAST_IDE
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ
 	select S3C24XX_SIMTEC_NOR
@@ -273,6 +277,7 @@ config MACH_TCT_HAMMER
 config MACH_VR1000
 	bool "Thorcom VR1000"
 	select MACH_BAST_IDE
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C24XX_SIMTEC_NOR
 	select S3C24XX_SIMTEC_PM if PM
@@ -443,6 +448,7 @@ comment "S3C2440 Boards"
 config MACH_ANUBIS
 	bool "Simtec Electronics ANUBIS"
 	select HAVE_PATA_PLATFORM
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2440_XTAL_12000000
 	select S3C24XX_SIMTEC_PM if PM
@@ -482,6 +488,7 @@ config MACH_NEXCODER_2440
 
 config MACH_OSIRIS
 	bool "Simtec IM2440D20 (OSIRIS) module"
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
 	select S3C2440_XTAL_12000000
@@ -553,6 +560,7 @@ config MACH_RX1950
 	bool "HP iPAQ rx1950"
 	select I2C
 	select PM_H1940 if PM
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
 	select S3C2440_XTAL_16934400
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index e5c1888fc67b..a898d813b2bb 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -9,6 +9,7 @@ menuconfig ARCH_S3C64XX
 	select ARM_AMBA
 	select ARM_VIC
 	select CLKSRC_SAMSUNG_PWM
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select GPIO_SAMSUNG if ATAGS
 	select HAVE_S3C2410_I2C if I2C
diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig
index 13bc9820ff22..5f19f1423f75 100644
--- a/arch/arm/mach-s5pv210/Kconfig
+++ b/arch/arm/mach-s5pv210/Kconfig
@@ -14,6 +14,7 @@ config ARCH_S5PV210
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_VIC
 	select CLKSRC_SAMSUNG_PWM
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 8a0952275291..83ac9316a432 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -21,6 +21,7 @@ config ARCH_EXYNOS
 config ARCH_EXYNOS7
 	bool "ARMv8 based Samsung Exynos7"
 	select ARCH_EXYNOS
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
 	select HAVE_S3C_RTC if RTC_CLASS
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index eca8e019e005..5ab9480989e6 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -202,11 +202,11 @@ config COMMON_CLK_CDCE706
 
 source "drivers/clk/bcm/Kconfig"
 source "drivers/clk/hisilicon/Kconfig"
+source "drivers/clk/samsung/Kconfig"
 source "drivers/clk/qcom/Kconfig"
 
 endmenu
 
 source "drivers/clk/mvebu/Kconfig"
 
-source "drivers/clk/samsung/Kconfig"
 source "drivers/clk/tegra/Kconfig"
diff --git a/drivers/clk/samsung/Kconfig b/drivers/clk/samsung/Kconfig
index 84196ecdaa12..dd6093a33f84 100644
--- a/drivers/clk/samsung/Kconfig
+++ b/drivers/clk/samsung/Kconfig
@@ -1,9 +1,8 @@
 config COMMON_CLK_SAMSUNG
-	bool
-	select COMMON_CLK
+	bool "Samsung Exynos clock controller support" if COMPILE_TEST
 
 config S3C2410_COMMON_CLK
-	bool
+	bool "Samsung S3C2410 clock controller support" if COMPILE_TEST
 	select COMMON_CLK_SAMSUNG
 	help
 	  Build the s3c2410 clock driver based on the common clock framework.
@@ -17,10 +16,10 @@ config S3C2410_COMMON_DCLK
 	  framework.
 
 config S3C2412_COMMON_CLK
-	bool
+	bool "Samsung S3C2412 clock controller support" if COMPILE_TEST
 	select COMMON_CLK_SAMSUNG
 
 config S3C2443_COMMON_CLK
-	bool
+	bool "Samsung S3C2443 clock controller support" if COMPILE_TEST
 	select COMMON_CLK_SAMSUNG
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v4 1/3] clk: samsung: Enable COMPILE_TEST for Samsung clocks
@ 2016-01-28  0:35   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2016-01-28  0:35 UTC (permalink / raw)
  To: Kukjin Kim, Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
	Michael Turquette, Stephen Boyd, Sylwester Nawrocki, Tomasz Figa,
	linux-arm-kernel, linux-samsung-soc, linux-kernel, devicetree,
	linux-clk
  Cc: Arnd Bergmann, Kevin Hilman, Pankaj Dubey, Chanwoo Choi,
	Alim Akhtar, Olof Johansson

Enable the COMPILE_TEST to get build coverage of some of Samsung clock
controller drivers. Still some of them will be built only if
appropriate SoC is chosen (like SOC_EXYNOS4415 or ARCH_S3C64XX).

Anyway in case of COMPILE_TEST the Samsung clocks would show up in main
drivers section because they are not inside the "Common Clock Framework"
menu item. Move them under the "Common Clock Framework".

This changes the logic of selecting Samsung clocks from specific
architectures. Now the COMMON_CLK should be selected before selecting
specific clock (like S3C2410_COMMON_CLK or COMMON_CLK_SAMSUNG).

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

---

Changes since v3:
1. Rebase on next-20160127 (s3c64xx became multiplatform)

Changes since v2:
1. New patch.
---
 arch/arm/mach-exynos/Kconfig  | 1 +
 arch/arm/mach-s3c24xx/Kconfig | 8 ++++++++
 arch/arm/mach-s3c64xx/Kconfig | 1 +
 arch/arm/mach-s5pv210/Kconfig | 1 +
 arch/arm64/Kconfig.platforms  | 1 +
 drivers/clk/Kconfig           | 2 +-
 drivers/clk/samsung/Kconfig   | 9 ++++-----
 7 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index aeadd2aa12cf..b166ffc28f5c 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -15,6 +15,7 @@ menuconfig ARCH_EXYNOS
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_AMBA
 	select ARM_GIC
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select EXYNOS_THERMAL
 	select EXYNOS_PMU
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index ef68ecb27396..5f02f1fa970d 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -28,6 +28,7 @@ config CPU_S3C2410
 	bool "SAMSUNG S3C2410"
 	default y
 	select CPU_ARM920T
+	select COMMON_CLK
 	select S3C2410_COMMON_CLK
 	select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ
 	select S3C2410_PM if PM
@@ -54,6 +55,7 @@ config CPU_S3C2416
 config CPU_S3C2440
 	bool "SAMSUNG S3C2440"
 	select CPU_ARM920T
+	select COMMON_CLK
 	select S3C2410_COMMON_CLK
 	select S3C2410_PM if PM_SLEEP
 	help
@@ -62,6 +64,7 @@ config CPU_S3C2440
 config CPU_S3C2442
 	bool "SAMSUNG S3C2442"
 	select CPU_ARM920T
+	select COMMON_CLK
 	select S3C2410_COMMON_CLK
 	select S3C2410_PM if PM_SLEEP
 	help
@@ -196,6 +199,7 @@ config ARCH_BAST
 	bool "Simtec Electronics BAST (EB2410ITX)"
 	select ISA
 	select MACH_BAST_IDE
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ
 	select S3C24XX_SIMTEC_NOR
@@ -273,6 +277,7 @@ config MACH_TCT_HAMMER
 config MACH_VR1000
 	bool "Thorcom VR1000"
 	select MACH_BAST_IDE
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C24XX_SIMTEC_NOR
 	select S3C24XX_SIMTEC_PM if PM
@@ -443,6 +448,7 @@ comment "S3C2440 Boards"
 config MACH_ANUBIS
 	bool "Simtec Electronics ANUBIS"
 	select HAVE_PATA_PLATFORM
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2440_XTAL_12000000
 	select S3C24XX_SIMTEC_PM if PM
@@ -482,6 +488,7 @@ config MACH_NEXCODER_2440
 
 config MACH_OSIRIS
 	bool "Simtec IM2440D20 (OSIRIS) module"
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
 	select S3C2440_XTAL_12000000
@@ -553,6 +560,7 @@ config MACH_RX1950
 	bool "HP iPAQ rx1950"
 	select I2C
 	select PM_H1940 if PM
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
 	select S3C2440_XTAL_16934400
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index e5c1888fc67b..a898d813b2bb 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -9,6 +9,7 @@ menuconfig ARCH_S3C64XX
 	select ARM_AMBA
 	select ARM_VIC
 	select CLKSRC_SAMSUNG_PWM
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select GPIO_SAMSUNG if ATAGS
 	select HAVE_S3C2410_I2C if I2C
diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig
index 13bc9820ff22..5f19f1423f75 100644
--- a/arch/arm/mach-s5pv210/Kconfig
+++ b/arch/arm/mach-s5pv210/Kconfig
@@ -14,6 +14,7 @@ config ARCH_S5PV210
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_VIC
 	select CLKSRC_SAMSUNG_PWM
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 8a0952275291..83ac9316a432 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -21,6 +21,7 @@ config ARCH_EXYNOS
 config ARCH_EXYNOS7
 	bool "ARMv8 based Samsung Exynos7"
 	select ARCH_EXYNOS
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
 	select HAVE_S3C_RTC if RTC_CLASS
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index eca8e019e005..5ab9480989e6 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -202,11 +202,11 @@ config COMMON_CLK_CDCE706
 
 source "drivers/clk/bcm/Kconfig"
 source "drivers/clk/hisilicon/Kconfig"
+source "drivers/clk/samsung/Kconfig"
 source "drivers/clk/qcom/Kconfig"
 
 endmenu
 
 source "drivers/clk/mvebu/Kconfig"
 
-source "drivers/clk/samsung/Kconfig"
 source "drivers/clk/tegra/Kconfig"
diff --git a/drivers/clk/samsung/Kconfig b/drivers/clk/samsung/Kconfig
index 84196ecdaa12..dd6093a33f84 100644
--- a/drivers/clk/samsung/Kconfig
+++ b/drivers/clk/samsung/Kconfig
@@ -1,9 +1,8 @@
 config COMMON_CLK_SAMSUNG
-	bool
-	select COMMON_CLK
+	bool "Samsung Exynos clock controller support" if COMPILE_TEST
 
 config S3C2410_COMMON_CLK
-	bool
+	bool "Samsung S3C2410 clock controller support" if COMPILE_TEST
 	select COMMON_CLK_SAMSUNG
 	help
 	  Build the s3c2410 clock driver based on the common clock framework.
@@ -17,10 +16,10 @@ config S3C2410_COMMON_DCLK
 	  framework.
 
 config S3C2412_COMMON_CLK
-	bool
+	bool "Samsung S3C2412 clock controller support" if COMPILE_TEST
 	select COMMON_CLK_SAMSUNG
 
 config S3C2443_COMMON_CLK
-	bool
+	bool "Samsung S3C2443 clock controller support" if COMPILE_TEST
 	select COMMON_CLK_SAMSUNG
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v4 1/3] clk: samsung: Enable COMPILE_TEST for Samsung clocks
@ 2016-01-28  0:35   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2016-01-28  0:35 UTC (permalink / raw)
  To: linux-arm-kernel

Enable the COMPILE_TEST to get build coverage of some of Samsung clock
controller drivers. Still some of them will be built only if
appropriate SoC is chosen (like SOC_EXYNOS4415 or ARCH_S3C64XX).

Anyway in case of COMPILE_TEST the Samsung clocks would show up in main
drivers section because they are not inside the "Common Clock Framework"
menu item. Move them under the "Common Clock Framework".

This changes the logic of selecting Samsung clocks from specific
architectures. Now the COMMON_CLK should be selected before selecting
specific clock (like S3C2410_COMMON_CLK or COMMON_CLK_SAMSUNG).

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

---

Changes since v3:
1. Rebase on next-20160127 (s3c64xx became multiplatform)

Changes since v2:
1. New patch.
---
 arch/arm/mach-exynos/Kconfig  | 1 +
 arch/arm/mach-s3c24xx/Kconfig | 8 ++++++++
 arch/arm/mach-s3c64xx/Kconfig | 1 +
 arch/arm/mach-s5pv210/Kconfig | 1 +
 arch/arm64/Kconfig.platforms  | 1 +
 drivers/clk/Kconfig           | 2 +-
 drivers/clk/samsung/Kconfig   | 9 ++++-----
 7 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index aeadd2aa12cf..b166ffc28f5c 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -15,6 +15,7 @@ menuconfig ARCH_EXYNOS
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_AMBA
 	select ARM_GIC
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select EXYNOS_THERMAL
 	select EXYNOS_PMU
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index ef68ecb27396..5f02f1fa970d 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -28,6 +28,7 @@ config CPU_S3C2410
 	bool "SAMSUNG S3C2410"
 	default y
 	select CPU_ARM920T
+	select COMMON_CLK
 	select S3C2410_COMMON_CLK
 	select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ
 	select S3C2410_PM if PM
@@ -54,6 +55,7 @@ config CPU_S3C2416
 config CPU_S3C2440
 	bool "SAMSUNG S3C2440"
 	select CPU_ARM920T
+	select COMMON_CLK
 	select S3C2410_COMMON_CLK
 	select S3C2410_PM if PM_SLEEP
 	help
@@ -62,6 +64,7 @@ config CPU_S3C2440
 config CPU_S3C2442
 	bool "SAMSUNG S3C2442"
 	select CPU_ARM920T
+	select COMMON_CLK
 	select S3C2410_COMMON_CLK
 	select S3C2410_PM if PM_SLEEP
 	help
@@ -196,6 +199,7 @@ config ARCH_BAST
 	bool "Simtec Electronics BAST (EB2410ITX)"
 	select ISA
 	select MACH_BAST_IDE
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ
 	select S3C24XX_SIMTEC_NOR
@@ -273,6 +277,7 @@ config MACH_TCT_HAMMER
 config MACH_VR1000
 	bool "Thorcom VR1000"
 	select MACH_BAST_IDE
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C24XX_SIMTEC_NOR
 	select S3C24XX_SIMTEC_PM if PM
@@ -443,6 +448,7 @@ comment "S3C2440 Boards"
 config MACH_ANUBIS
 	bool "Simtec Electronics ANUBIS"
 	select HAVE_PATA_PLATFORM
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2440_XTAL_12000000
 	select S3C24XX_SIMTEC_PM if PM
@@ -482,6 +488,7 @@ config MACH_NEXCODER_2440
 
 config MACH_OSIRIS
 	bool "Simtec IM2440D20 (OSIRIS) module"
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
 	select S3C2440_XTAL_12000000
@@ -553,6 +560,7 @@ config MACH_RX1950
 	bool "HP iPAQ rx1950"
 	select I2C
 	select PM_H1940 if PM
+	select COMMON_CLK
 	select S3C2410_COMMON_DCLK
 	select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ
 	select S3C2440_XTAL_16934400
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index e5c1888fc67b..a898d813b2bb 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -9,6 +9,7 @@ menuconfig ARCH_S3C64XX
 	select ARM_AMBA
 	select ARM_VIC
 	select CLKSRC_SAMSUNG_PWM
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select GPIO_SAMSUNG if ATAGS
 	select HAVE_S3C2410_I2C if I2C
diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig
index 13bc9820ff22..5f19f1423f75 100644
--- a/arch/arm/mach-s5pv210/Kconfig
+++ b/arch/arm/mach-s5pv210/Kconfig
@@ -14,6 +14,7 @@ config ARCH_S5PV210
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_VIC
 	select CLKSRC_SAMSUNG_PWM
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select HAVE_S3C2410_I2C if I2C
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 8a0952275291..83ac9316a432 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -21,6 +21,7 @@ config ARCH_EXYNOS
 config ARCH_EXYNOS7
 	bool "ARMv8 based Samsung Exynos7"
 	select ARCH_EXYNOS
+	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
 	select HAVE_S3C_RTC if RTC_CLASS
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index eca8e019e005..5ab9480989e6 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -202,11 +202,11 @@ config COMMON_CLK_CDCE706
 
 source "drivers/clk/bcm/Kconfig"
 source "drivers/clk/hisilicon/Kconfig"
+source "drivers/clk/samsung/Kconfig"
 source "drivers/clk/qcom/Kconfig"
 
 endmenu
 
 source "drivers/clk/mvebu/Kconfig"
 
-source "drivers/clk/samsung/Kconfig"
 source "drivers/clk/tegra/Kconfig"
diff --git a/drivers/clk/samsung/Kconfig b/drivers/clk/samsung/Kconfig
index 84196ecdaa12..dd6093a33f84 100644
--- a/drivers/clk/samsung/Kconfig
+++ b/drivers/clk/samsung/Kconfig
@@ -1,9 +1,8 @@
 config COMMON_CLK_SAMSUNG
-	bool
-	select COMMON_CLK
+	bool "Samsung Exynos clock controller support" if COMPILE_TEST
 
 config S3C2410_COMMON_CLK
-	bool
+	bool "Samsung S3C2410 clock controller support" if COMPILE_TEST
 	select COMMON_CLK_SAMSUNG
 	help
 	  Build the s3c2410 clock driver based on the common clock framework.
@@ -17,10 +16,10 @@ config S3C2410_COMMON_DCLK
 	  framework.
 
 config S3C2412_COMMON_CLK
-	bool
+	bool "Samsung S3C2412 clock controller support" if COMPILE_TEST
 	select COMMON_CLK_SAMSUNG
 
 config S3C2443_COMMON_CLK
-	bool
+	bool "Samsung S3C2443 clock controller support" if COMPILE_TEST
 	select COMMON_CLK_SAMSUNG
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v4 2/3] clk: samsung: Don't build ARMv8 clock drivers on ARMv7
  2016-01-28  0:35 ` Krzysztof Kozlowski
@ 2016-01-28  0:35   ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2016-01-28  0:35 UTC (permalink / raw)
  To: Kukjin Kim, Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
	Michael Turquette, Stephen Boyd, Sylwester Nawrocki, Tomasz Figa,
	linux-arm-kernel, linux-samsung-soc, linux-kernel, devicetree,
	linux-clk
  Cc: Arnd Bergmann, Olof Johansson, Kevin Hilman, Alim Akhtar,
	Pankaj Dubey, Chanwoo Choi

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>

---

Changes since v3:
1. Rebase on next-20160127.

Changes since v2:
1. Follow Arnd's advice making EXYNOS_ARM64_COMMON_CLK user-visible when
   COMPILE_TEST is enabled.
2. Dropped accumulated tags because the logic is now different.

Changes since v1:
1. Use one Kconfig symbol for clocks of all ARM64 SoCs (after
   discussion): EXYNOS_ARM64_COMMON_CLK.
2. Minor cleanups after Tomasz's comments.
3. Added tags: Chanwoo's, Sylwester's, Alim's and Tomasz's (the tags
   were given for v1 but assuming that change from 1. is not major
   enough to require re-tagging).
---
 drivers/clk/samsung/Kconfig  | 5 +++++
 drivers/clk/samsung/Makefile | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/samsung/Kconfig b/drivers/clk/samsung/Kconfig
index dd6093a33f84..5fd982d9f4d9 100644
--- a/drivers/clk/samsung/Kconfig
+++ b/drivers/clk/samsung/Kconfig
@@ -23,3 +23,8 @@ config S3C2443_COMMON_CLK
 	bool "Samsung S3C2443 clock controller support" if COMPILE_TEST
 	select COMMON_CLK_SAMSUNG
 
+# ARM64 SoCs (e.g. Exynos5433, Exynos7):
+config EXYNOS_ARM64_COMMON_CLK
+	bool "Samsung Exynos ARMv8-family clock controller support" if COMPILE_TEST
+	default ARM64 && COMMON_CLK_SAMSUNG
+	depends on (ARM64 && COMMON_CLK_SAMSUNG) || COMPILE_TEST
diff --git a/drivers/clk/samsung/Makefile b/drivers/clk/samsung/Makefile
index 5f6833ea355d..fc367d4b2902 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_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
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v4 2/3] clk: samsung: Don't build ARMv8 clock drivers on ARMv7
@ 2016-01-28  0:35   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2016-01-28  0:35 UTC (permalink / raw)
  To: linux-arm-kernel

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>

---

Changes since v3:
1. Rebase on next-20160127.

Changes since v2:
1. Follow Arnd's advice making EXYNOS_ARM64_COMMON_CLK user-visible when
   COMPILE_TEST is enabled.
2. Dropped accumulated tags because the logic is now different.

Changes since v1:
1. Use one Kconfig symbol for clocks of all ARM64 SoCs (after
   discussion): EXYNOS_ARM64_COMMON_CLK.
2. Minor cleanups after Tomasz's comments.
3. Added tags: Chanwoo's, Sylwester's, Alim's and Tomasz's (the tags
   were given for v1 but assuming that change from 1. is not major
   enough to require re-tagging).
---
 drivers/clk/samsung/Kconfig  | 5 +++++
 drivers/clk/samsung/Makefile | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/samsung/Kconfig b/drivers/clk/samsung/Kconfig
index dd6093a33f84..5fd982d9f4d9 100644
--- a/drivers/clk/samsung/Kconfig
+++ b/drivers/clk/samsung/Kconfig
@@ -23,3 +23,8 @@ config S3C2443_COMMON_CLK
 	bool "Samsung S3C2443 clock controller support" if COMPILE_TEST
 	select COMMON_CLK_SAMSUNG
 
+# ARM64 SoCs (e.g. Exynos5433, Exynos7):
+config EXYNOS_ARM64_COMMON_CLK
+	bool "Samsung Exynos ARMv8-family clock controller support" if COMPILE_TEST
+	default ARM64 && COMMON_CLK_SAMSUNG
+	depends on (ARM64 && COMMON_CLK_SAMSUNG) || COMPILE_TEST
diff --git a/drivers/clk/samsung/Makefile b/drivers/clk/samsung/Makefile
index 5f6833ea355d..fc367d4b2902 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_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
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v4 3/3] arm64: EXYNOS: Consolidate ARCH_EXYNOS7 symbol into ARCH_EXYNOS
  2016-01-28  0:35 ` Krzysztof Kozlowski
@ 2016-01-28  0:35   ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2016-01-28  0:35 UTC (permalink / raw)
  To: Kukjin Kim, Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
	Michael Turquette, Stephen Boyd, Sylwester Nawrocki, Tomasz Figa,
	linux-arm-kernel, linux-samsung-soc, linux-kernel, devicetree,
	linux-clk
  Cc: Arnd Bergmann, Olof Johansson, Kevin Hilman, Alim Akhtar,
	Pankaj Dubey, Chanwoo Choi

The ARMv8 Exynos family SoCs in Linux kernel are currently:
 - Exynos5433 (controlled by ARCH_EXYNOS),
 - Exynos7 (controlled by ARCH_EXYNOS7).

It duplicates Kconfig symbols unnecessarily, so consolidate them into
one ARCH_EXYNOS. Future SoCs could fall also under the ARCH_EXYNOS
symbol.

The commit should not bring any visible functional change.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Tested-by: Alim Akhtar <alim.akhtar@samsung.com>
Reviewed-by: Tomasz Figa <tomasz.figa@gmail.com>

---

Changes since v3:
1. Rebase on next-20160127.

Changes since v2:
1. None

Changes since v1:
1. Minor cleanups after Tomasz's comments.
2. Added tags: Chanwoo's, Pankaj's, Alim's and Tomasz's.
---
 arch/arm64/Kconfig.platforms        | 11 ++---------
 arch/arm64/boot/dts/exynos/Makefile |  2 +-
 arch/arm64/configs/defconfig        |  2 +-
 3 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 83ac9316a432..36e1233493d6 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -14,22 +14,15 @@ config ARCH_BERLIN
 	  This enables support for Marvell Berlin SoC Family
 
 config ARCH_EXYNOS
-	bool
-	help
-	  This enables support for Samsung Exynos SoC family
-
-config ARCH_EXYNOS7
-	bool "ARMv8 based Samsung Exynos7"
-	select ARCH_EXYNOS
+	bool "ARMv8 based Samsung Exynos SoC family"
 	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
 	select HAVE_S3C_RTC if RTC_CLASS
 	select PINCTRL
 	select PINCTRL_EXYNOS
-
 	help
-	  This enables support for Samsung Exynos7 SoC family
+	  This enables support for ARMv8 based Samsung Exynos SoC family.
 
 config ARCH_LAYERSCAPE
 	bool "ARMv8 based Freescale Layerscape SoC family"
diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile
index 20310e5b6d6f..50c9b9383cfa 100644
--- a/arch/arm64/boot/dts/exynos/Makefile
+++ b/arch/arm64/boot/dts/exynos/Makefile
@@ -1,4 +1,4 @@
-dtb-$(CONFIG_ARCH_EXYNOS7) += exynos7-espresso.dtb
+dtb-$(CONFIG_ARCH_EXYNOS) += exynos7-espresso.dtb
 
 always		:= $(dtb-y)
 subdir-y	:= $(dts-dirs)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 18ca9fb9e65f..331a843cf122 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -33,7 +33,7 @@ CONFIG_MODULE_UNLOAD=y
 # CONFIG_IOSCHED_DEADLINE is not set
 CONFIG_ARCH_BCM_IPROC=y
 CONFIG_ARCH_BERLIN=y
-CONFIG_ARCH_EXYNOS7=y
+CONFIG_ARCH_EXYNOS=y
 CONFIG_ARCH_LAYERSCAPE=y
 CONFIG_ARCH_HISI=y
 CONFIG_ARCH_MEDIATEK=y
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v4 3/3] arm64: EXYNOS: Consolidate ARCH_EXYNOS7 symbol into ARCH_EXYNOS
@ 2016-01-28  0:35   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2016-01-28  0:35 UTC (permalink / raw)
  To: linux-arm-kernel

The ARMv8 Exynos family SoCs in Linux kernel are currently:
 - Exynos5433 (controlled by ARCH_EXYNOS),
 - Exynos7 (controlled by ARCH_EXYNOS7).

It duplicates Kconfig symbols unnecessarily, so consolidate them into
one ARCH_EXYNOS. Future SoCs could fall also under the ARCH_EXYNOS
symbol.

The commit should not bring any visible functional change.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Tested-by: Alim Akhtar <alim.akhtar@samsung.com>
Reviewed-by: Tomasz Figa <tomasz.figa@gmail.com>

---

Changes since v3:
1. Rebase on next-20160127.

Changes since v2:
1. None

Changes since v1:
1. Minor cleanups after Tomasz's comments.
2. Added tags: Chanwoo's, Pankaj's, Alim's and Tomasz's.
---
 arch/arm64/Kconfig.platforms        | 11 ++---------
 arch/arm64/boot/dts/exynos/Makefile |  2 +-
 arch/arm64/configs/defconfig        |  2 +-
 3 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 83ac9316a432..36e1233493d6 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -14,22 +14,15 @@ config ARCH_BERLIN
 	  This enables support for Marvell Berlin SoC Family
 
 config ARCH_EXYNOS
-	bool
-	help
-	  This enables support for Samsung Exynos SoC family
-
-config ARCH_EXYNOS7
-	bool "ARMv8 based Samsung Exynos7"
-	select ARCH_EXYNOS
+	bool "ARMv8 based Samsung Exynos SoC family"
 	select COMMON_CLK
 	select COMMON_CLK_SAMSUNG
 	select HAVE_S3C2410_WATCHDOG if WATCHDOG
 	select HAVE_S3C_RTC if RTC_CLASS
 	select PINCTRL
 	select PINCTRL_EXYNOS
-
 	help
-	  This enables support for Samsung Exynos7 SoC family
+	  This enables support for ARMv8 based Samsung Exynos SoC family.
 
 config ARCH_LAYERSCAPE
 	bool "ARMv8 based Freescale Layerscape SoC family"
diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile
index 20310e5b6d6f..50c9b9383cfa 100644
--- a/arch/arm64/boot/dts/exynos/Makefile
+++ b/arch/arm64/boot/dts/exynos/Makefile
@@ -1,4 +1,4 @@
-dtb-$(CONFIG_ARCH_EXYNOS7) += exynos7-espresso.dtb
+dtb-$(CONFIG_ARCH_EXYNOS) += exynos7-espresso.dtb
 
 always		:= $(dtb-y)
 subdir-y	:= $(dts-dirs)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 18ca9fb9e65f..331a843cf122 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -33,7 +33,7 @@ CONFIG_MODULE_UNLOAD=y
 # CONFIG_IOSCHED_DEADLINE is not set
 CONFIG_ARCH_BCM_IPROC=y
 CONFIG_ARCH_BERLIN=y
-CONFIG_ARCH_EXYNOS7=y
+CONFIG_ARCH_EXYNOS=y
 CONFIG_ARCH_LAYERSCAPE=y
 CONFIG_ARCH_HISI=y
 CONFIG_ARCH_MEDIATEK=y
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 2/3] clk: samsung: Don't build ARMv8 clock drivers on ARMv7
  2016-01-28  0:35   ` Krzysztof Kozlowski
@ 2016-01-28  1:23     ` Chanwoo Choi
  -1 siblings, 0 replies; 23+ messages in thread
From: Chanwoo Choi @ 2016-01-28  1:23 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Kukjin Kim, Catalin Marinas, Will Deacon,
	Michael Turquette, Stephen Boyd, Sylwester Nawrocki, Tomasz Figa,
	linux-arm-kernel, linux-samsung-soc, linux-kernel, devicetree,
	linux-clk
  Cc: Arnd Bergmann, Olof Johansson, Kevin Hilman, Alim Akhtar, Pankaj Dubey

On 2016년 01월 28일 09:35, Krzysztof Kozlowski wrote:
> 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>
> 
> ---
> 
> Changes since v3:
> 1. Rebase on next-20160127.
> 
> Changes since v2:
> 1. Follow Arnd's advice making EXYNOS_ARM64_COMMON_CLK user-visible when
>    COMPILE_TEST is enabled.
> 2. Dropped accumulated tags because the logic is now different.
> 
> Changes since v1:
> 1. Use one Kconfig symbol for clocks of all ARM64 SoCs (after
>    discussion): EXYNOS_ARM64_COMMON_CLK.
> 2. Minor cleanups after Tomasz's comments.
> 3. Added tags: Chanwoo's, Sylwester's, Alim's and Tomasz's (the tags
>    were given for v1 but assuming that change from 1. is not major
>    enough to require re-tagging).
> ---
>  drivers/clk/samsung/Kconfig  | 5 +++++
>  drivers/clk/samsung/Makefile | 4 ++--
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/clk/samsung/Kconfig b/drivers/clk/samsung/Kconfig
> index dd6093a33f84..5fd982d9f4d9 100644
> --- a/drivers/clk/samsung/Kconfig
> +++ b/drivers/clk/samsung/Kconfig
> @@ -23,3 +23,8 @@ config S3C2443_COMMON_CLK
>  	bool "Samsung S3C2443 clock controller support" if COMPILE_TEST
>  	select COMMON_CLK_SAMSUNG
>  
> +# ARM64 SoCs (e.g. Exynos5433, Exynos7):
> +config EXYNOS_ARM64_COMMON_CLK
> +	bool "Samsung Exynos ARMv8-family clock controller support" if COMPILE_TEST
> +	default ARM64 && COMMON_CLK_SAMSUNG
> +	depends on (ARM64 && COMMON_CLK_SAMSUNG) || COMPILE_TEST
> diff --git a/drivers/clk/samsung/Makefile b/drivers/clk/samsung/Makefile
> index 5f6833ea355d..fc367d4b2902 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_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
> 

Looks good to me. 
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>

Best Regards,
Chanwoo Choi

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v4 2/3] clk: samsung: Don't build ARMv8 clock drivers on ARMv7
@ 2016-01-28  1:23     ` Chanwoo Choi
  0 siblings, 0 replies; 23+ messages in thread
From: Chanwoo Choi @ 2016-01-28  1:23 UTC (permalink / raw)
  To: linux-arm-kernel

On 2016? 01? 28? 09:35, Krzysztof Kozlowski wrote:
> 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>
> 
> ---
> 
> Changes since v3:
> 1. Rebase on next-20160127.
> 
> Changes since v2:
> 1. Follow Arnd's advice making EXYNOS_ARM64_COMMON_CLK user-visible when
>    COMPILE_TEST is enabled.
> 2. Dropped accumulated tags because the logic is now different.
> 
> Changes since v1:
> 1. Use one Kconfig symbol for clocks of all ARM64 SoCs (after
>    discussion): EXYNOS_ARM64_COMMON_CLK.
> 2. Minor cleanups after Tomasz's comments.
> 3. Added tags: Chanwoo's, Sylwester's, Alim's and Tomasz's (the tags
>    were given for v1 but assuming that change from 1. is not major
>    enough to require re-tagging).
> ---
>  drivers/clk/samsung/Kconfig  | 5 +++++
>  drivers/clk/samsung/Makefile | 4 ++--
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/clk/samsung/Kconfig b/drivers/clk/samsung/Kconfig
> index dd6093a33f84..5fd982d9f4d9 100644
> --- a/drivers/clk/samsung/Kconfig
> +++ b/drivers/clk/samsung/Kconfig
> @@ -23,3 +23,8 @@ config S3C2443_COMMON_CLK
>  	bool "Samsung S3C2443 clock controller support" if COMPILE_TEST
>  	select COMMON_CLK_SAMSUNG
>  
> +# ARM64 SoCs (e.g. Exynos5433, Exynos7):
> +config EXYNOS_ARM64_COMMON_CLK
> +	bool "Samsung Exynos ARMv8-family clock controller support" if COMPILE_TEST
> +	default ARM64 && COMMON_CLK_SAMSUNG
> +	depends on (ARM64 && COMMON_CLK_SAMSUNG) || COMPILE_TEST
> diff --git a/drivers/clk/samsung/Makefile b/drivers/clk/samsung/Makefile
> index 5f6833ea355d..fc367d4b2902 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_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
> 

Looks good to me. 
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>

Best Regards,
Chanwoo Choi

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 1/3] clk: samsung: Enable COMPILE_TEST for Samsung clocks
  2016-01-28  0:35   ` Krzysztof Kozlowski
@ 2016-01-28 19:12     ` Javier Martinez Canillas
  -1 siblings, 0 replies; 23+ messages in thread
From: Javier Martinez Canillas @ 2016-01-28 19:12 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Kukjin Kim, Catalin Marinas, Will Deacon,
	Michael Turquette, Stephen Boyd, Sylwester Nawrocki, Tomasz Figa,
	linux-arm-kernel, linux-samsung-soc, linux-kernel, devicetree,
	linux-clk
  Cc: Arnd Bergmann, Olof Johansson, Kevin Hilman, Alim Akhtar,
	Pankaj Dubey, Chanwoo Choi

Hello Krzysztof,

On 01/27/2016 09:35 PM, Krzysztof Kozlowski wrote:
> Enable the COMPILE_TEST to get build coverage of some of Samsung clock
> controller drivers. Still some of them will be built only if
> appropriate SoC is chosen (like SOC_EXYNOS4415 or ARCH_S3C64XX).
>
> Anyway in case of COMPILE_TEST the Samsung clocks would show up in main
> drivers section because they are not inside the "Common Clock Framework"
> menu item. Move them under the "Common Clock Framework".
>
> This changes the logic of selecting Samsung clocks from specific
> architectures. Now the COMMON_CLK should be selected before selecting
> specific clock (like S3C2410_COMMON_CLK or COMMON_CLK_SAMSUNG).
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>

Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

I have also verified that more samsung clocks drivers are built for
allyesconfig (where COMPILE_TEST is enabled) when make M=drivers/clk

Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v4 1/3] clk: samsung: Enable COMPILE_TEST for Samsung clocks
@ 2016-01-28 19:12     ` Javier Martinez Canillas
  0 siblings, 0 replies; 23+ messages in thread
From: Javier Martinez Canillas @ 2016-01-28 19:12 UTC (permalink / raw)
  To: linux-arm-kernel

Hello Krzysztof,

On 01/27/2016 09:35 PM, Krzysztof Kozlowski wrote:
> Enable the COMPILE_TEST to get build coverage of some of Samsung clock
> controller drivers. Still some of them will be built only if
> appropriate SoC is chosen (like SOC_EXYNOS4415 or ARCH_S3C64XX).
>
> Anyway in case of COMPILE_TEST the Samsung clocks would show up in main
> drivers section because they are not inside the "Common Clock Framework"
> menu item. Move them under the "Common Clock Framework".
>
> This changes the logic of selecting Samsung clocks from specific
> architectures. Now the COMMON_CLK should be selected before selecting
> specific clock (like S3C2410_COMMON_CLK or COMMON_CLK_SAMSUNG).
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>

Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

I have also verified that more samsung clocks drivers are built for
allyesconfig (where COMPILE_TEST is enabled) when make M=drivers/clk

Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 2/3] clk: samsung: Don't build ARMv8 clock drivers on ARMv7
  2016-01-28  0:35   ` Krzysztof Kozlowski
@ 2016-01-28 19:15     ` Javier Martinez Canillas
  -1 siblings, 0 replies; 23+ messages in thread
From: Javier Martinez Canillas @ 2016-01-28 19:15 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Kukjin Kim, Catalin Marinas, Will Deacon,
	Michael Turquette, Stephen Boyd, Sylwester Nawrocki, Tomasz Figa,
	linux-arm-kernel, linux-samsung-soc, linux-kernel, devicetree,
	linux-clk
  Cc: Arnd Bergmann, Olof Johansson, Kevin Hilman, Alim Akhtar,
	Pankaj Dubey, Chanwoo Choi

Hello Krzysztof,

On 01/27/2016 09:35 PM, Krzysztof Kozlowski wrote:
> 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>
>

Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

Also checked that for example clk-exynos5433 is not built anymore for
exynos_defconfig but it is built for allyesconfig.

Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v4 2/3] clk: samsung: Don't build ARMv8 clock drivers on ARMv7
@ 2016-01-28 19:15     ` Javier Martinez Canillas
  0 siblings, 0 replies; 23+ messages in thread
From: Javier Martinez Canillas @ 2016-01-28 19:15 UTC (permalink / raw)
  To: linux-arm-kernel

Hello Krzysztof,

On 01/27/2016 09:35 PM, Krzysztof Kozlowski wrote:
> 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>
>

Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

Also checked that for example clk-exynos5433 is not built anymore for
exynos_defconfig but it is built for allyesconfig.

Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 3/3] arm64: EXYNOS: Consolidate ARCH_EXYNOS7 symbol into ARCH_EXYNOS
  2016-01-28  0:35   ` Krzysztof Kozlowski
@ 2016-01-28 19:16     ` Javier Martinez Canillas
  -1 siblings, 0 replies; 23+ messages in thread
From: Javier Martinez Canillas @ 2016-01-28 19:16 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Kukjin Kim, Catalin Marinas, Will Deacon,
	Michael Turquette, Stephen Boyd, Sylwester Nawrocki, Tomasz Figa,
	linux-arm-kernel, linux-samsung-soc, linux-kernel, devicetree,
	linux-clk
  Cc: Arnd Bergmann, Olof Johansson, Kevin Hilman, Alim Akhtar,
	Pankaj Dubey, Chanwoo Choi

Hello Krzysztof,

On 01/27/2016 09:35 PM, Krzysztof Kozlowski wrote:
> The ARMv8 Exynos family SoCs in Linux kernel are currently:
>   - Exynos5433 (controlled by ARCH_EXYNOS),
>   - Exynos7 (controlled by ARCH_EXYNOS7).
>
> It duplicates Kconfig symbols unnecessarily, so consolidate them into
> one ARCH_EXYNOS. Future SoCs could fall also under the ARCH_EXYNOS
> symbol.
>
> The commit should not bring any visible functional change.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
> Reviewed-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> Tested-by: Alim Akhtar <alim.akhtar@samsung.com>
> Reviewed-by: Tomasz Figa <tomasz.figa@gmail.com>
>

Patch looks good to me.

Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v4 3/3] arm64: EXYNOS: Consolidate ARCH_EXYNOS7 symbol into ARCH_EXYNOS
@ 2016-01-28 19:16     ` Javier Martinez Canillas
  0 siblings, 0 replies; 23+ messages in thread
From: Javier Martinez Canillas @ 2016-01-28 19:16 UTC (permalink / raw)
  To: linux-arm-kernel

Hello Krzysztof,

On 01/27/2016 09:35 PM, Krzysztof Kozlowski wrote:
> The ARMv8 Exynos family SoCs in Linux kernel are currently:
>   - Exynos5433 (controlled by ARCH_EXYNOS),
>   - Exynos7 (controlled by ARCH_EXYNOS7).
>
> It duplicates Kconfig symbols unnecessarily, so consolidate them into
> one ARCH_EXYNOS. Future SoCs could fall also under the ARCH_EXYNOS
> symbol.
>
> The commit should not bring any visible functional change.
>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
> Reviewed-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> Tested-by: Alim Akhtar <alim.akhtar@samsung.com>
> Reviewed-by: Tomasz Figa <tomasz.figa@gmail.com>
>

Patch looks good to me.

Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 0/3] arm64/clk: EXYNOS: Consolidate Exynos7 symbol
  2016-01-28  0:35 ` Krzysztof Kozlowski
@ 2016-01-29  1:13   ` Andi Shyti
  -1 siblings, 0 replies; 23+ messages in thread
From: Andi Shyti @ 2016-01-29  1:13 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Kukjin Kim, Catalin Marinas, Will Deacon, Michael Turquette,
	Stephen Boyd, Sylwester Nawrocki, Tomasz Figa, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, devicetree, linux-clk,
	Arnd Bergmann, Olof Johansson, Kevin Hilman, Alim Akhtar,
	Pankaj Dubey, Chanwoo Choi

Hi Krzysztof,

> Patchset attempts to remove the ARCH_EXYNOS7 symbol.
> 
> All patches depend on previous ones so no cherry-picked.
> I was thinking about merging this through arm-soc tree after getting
> needed acks (clk, arm-soc?).

I like this patchset and reviewed it. Now it even applies on my
branch :)

Feel free to add Reviewed-by: Andi Shyti <andi.shyti@samsung.com>

Andi

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v4 0/3] arm64/clk: EXYNOS: Consolidate Exynos7 symbol
@ 2016-01-29  1:13   ` Andi Shyti
  0 siblings, 0 replies; 23+ messages in thread
From: Andi Shyti @ 2016-01-29  1:13 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Krzysztof,

> Patchset attempts to remove the ARCH_EXYNOS7 symbol.
> 
> All patches depend on previous ones so no cherry-picked.
> I was thinking about merging this through arm-soc tree after getting
> needed acks (clk, arm-soc?).

I like this patchset and reviewed it. Now it even applies on my
branch :)

Feel free to add Reviewed-by: Andi Shyti <andi.shyti@samsung.com>

Andi

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 1/3] clk: samsung: Enable COMPILE_TEST for Samsung clocks
  2016-01-28  0:35   ` Krzysztof Kozlowski
@ 2016-01-29 20:43     ` Stephen Boyd
  -1 siblings, 0 replies; 23+ messages in thread
From: Stephen Boyd @ 2016-01-29 20:43 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Kukjin Kim, Catalin Marinas, Will Deacon, Michael Turquette,
	Sylwester Nawrocki, Tomasz Figa, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, devicetree, linux-clk,
	Arnd Bergmann, Olof Johansson, Kevin Hilman, Alim Akhtar,
	Pankaj Dubey, Chanwoo Choi

On 01/28, Krzysztof Kozlowski wrote:
> Enable the COMPILE_TEST to get build coverage of some of Samsung clock
> controller drivers. Still some of them will be built only if
> appropriate SoC is chosen (like SOC_EXYNOS4415 or ARCH_S3C64XX).
> 
> Anyway in case of COMPILE_TEST the Samsung clocks would show up in main
> drivers section because they are not inside the "Common Clock Framework"
> menu item. Move them under the "Common Clock Framework".
> 
> This changes the logic of selecting Samsung clocks from specific
> architectures. Now the COMMON_CLK should be selected before selecting
> specific clock (like S3C2410_COMMON_CLK or COMMON_CLK_SAMSUNG).
> 
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> 
> ---

Acked-by: Stephen Boyd <sboyd@codeaurora.org>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v4 1/3] clk: samsung: Enable COMPILE_TEST for Samsung clocks
@ 2016-01-29 20:43     ` Stephen Boyd
  0 siblings, 0 replies; 23+ messages in thread
From: Stephen Boyd @ 2016-01-29 20:43 UTC (permalink / raw)
  To: linux-arm-kernel

On 01/28, Krzysztof Kozlowski wrote:
> Enable the COMPILE_TEST to get build coverage of some of Samsung clock
> controller drivers. Still some of them will be built only if
> appropriate SoC is chosen (like SOC_EXYNOS4415 or ARCH_S3C64XX).
> 
> Anyway in case of COMPILE_TEST the Samsung clocks would show up in main
> drivers section because they are not inside the "Common Clock Framework"
> menu item. Move them under the "Common Clock Framework".
> 
> This changes the logic of selecting Samsung clocks from specific
> architectures. Now the COMMON_CLK should be selected before selecting
> specific clock (like S3C2410_COMMON_CLK or COMMON_CLK_SAMSUNG).
> 
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> 
> ---

Acked-by: Stephen Boyd <sboyd@codeaurora.org>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 2/3] clk: samsung: Don't build ARMv8 clock drivers on ARMv7
  2016-01-28  0:35   ` Krzysztof Kozlowski
@ 2016-01-29 20:43     ` Stephen Boyd
  -1 siblings, 0 replies; 23+ messages in thread
From: Stephen Boyd @ 2016-01-29 20:43 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Kukjin Kim, Catalin Marinas, Will Deacon, Michael Turquette,
	Sylwester Nawrocki, Tomasz Figa, linux-arm-kernel,
	linux-samsung-soc, linux-kernel, devicetree, linux-clk,
	Arnd Bergmann, Olof Johansson, Kevin Hilman, Alim Akhtar,
	Pankaj Dubey, Chanwoo Choi

On 01/28, Krzysztof Kozlowski wrote:
> 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: Stephen Boyd <sboyd@codeaurora.org>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v4 2/3] clk: samsung: Don't build ARMv8 clock drivers on ARMv7
@ 2016-01-29 20:43     ` Stephen Boyd
  0 siblings, 0 replies; 23+ messages in thread
From: Stephen Boyd @ 2016-01-29 20:43 UTC (permalink / raw)
  To: linux-arm-kernel

On 01/28, Krzysztof Kozlowski wrote:
> 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: Stephen Boyd <sboyd@codeaurora.org>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2016-01-29 20:43 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-28  0:35 [PATCH v4 0/3] arm64/clk: EXYNOS: Consolidate Exynos7 symbol Krzysztof Kozlowski
2016-01-28  0:35 ` Krzysztof Kozlowski
2016-01-28  0:35 ` [PATCH v4 1/3] clk: samsung: Enable COMPILE_TEST for Samsung clocks Krzysztof Kozlowski
2016-01-28  0:35   ` Krzysztof Kozlowski
2016-01-28  0:35   ` Krzysztof Kozlowski
2016-01-28 19:12   ` Javier Martinez Canillas
2016-01-28 19:12     ` Javier Martinez Canillas
2016-01-29 20:43   ` Stephen Boyd
2016-01-29 20:43     ` Stephen Boyd
2016-01-28  0:35 ` [PATCH v4 2/3] clk: samsung: Don't build ARMv8 clock drivers on ARMv7 Krzysztof Kozlowski
2016-01-28  0:35   ` Krzysztof Kozlowski
2016-01-28  1:23   ` Chanwoo Choi
2016-01-28  1:23     ` Chanwoo Choi
2016-01-28 19:15   ` Javier Martinez Canillas
2016-01-28 19:15     ` Javier Martinez Canillas
2016-01-29 20:43   ` Stephen Boyd
2016-01-29 20:43     ` Stephen Boyd
2016-01-28  0:35 ` [PATCH v4 3/3] arm64: EXYNOS: Consolidate ARCH_EXYNOS7 symbol into ARCH_EXYNOS Krzysztof Kozlowski
2016-01-28  0:35   ` Krzysztof Kozlowski
2016-01-28 19:16   ` Javier Martinez Canillas
2016-01-28 19:16     ` Javier Martinez Canillas
2016-01-29  1:13 ` [PATCH v4 0/3] arm64/clk: EXYNOS: Consolidate Exynos7 symbol Andi Shyti
2016-01-29  1:13   ` Andi Shyti

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.