Skip to contentSkip to conversation

clk: bcm: Make COMMON_CLK_IPROC into a library

PATCH Applied Stephen Boyd 3 participants 4 messages Nov 23, 2016 – Dec 8, 2016 Common clk

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 clk: bcm: Make COMMON_CLK_IPROC into a library

The broadcom clk driver Kconfig file selects and depends on the COMMON_CLK_IPROC config for different SoC specific drivers. Let's simplify this by always selecting the COMMON_CLK_IPROC config, turning it into a set of library code. We still want to retain the SoC specific options, so we leave those in place. Since we're here we also drop COMMON_CLK dependency because that's implicitly handled by including this file in drivers/clk/Kconfig in the right place and also make CLK_BCM_KONA default to y on the architecture it exists for instead of plain default y.

Cc Florian Fainelli <[email protected]>
Cc Ray Jui <[email protected]>
Cc Jon Mason <[email protected]>
---
 drivers/clk/bcm/Kconfig | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)
drivers/clk/bcm/Kconfig +5 -11
index e3eed5a78404..b5ae5311b0a2 100644
@@ -1,7 +1,6 @@
 config CLK_BCM_63XX
 	bool "Broadcom BCM63xx clock support"
 	depends on ARCH_BCM_63XX || COMPILE_TEST
-	depends on COMMON_CLK
 	select COMMON_CLK_IPROC
 	default ARCH_BCM_63XX
 	help
@@ -11,27 +10,22 @@ config CLK_BCM_63XX
 config CLK_BCM_KONA
 	bool "Broadcom Kona CCU clock support"
 	depends on ARCH_BCM_MOBILE || COMPILE_TEST
-	depends on COMMON_CLK
-	default y
+	default ARCH_BCM_MOBILE
 	help
 	  Enable common clock framework support for Broadcom SoCs
 	  using "Kona" style clock control units, including those
 	  in the BCM281xx and BCM21664 families.
 
 config COMMON_CLK_IPROC
-	bool "Broadcom iProc clock support"
-	depends on ARCH_BCM_IPROC || ARCH_BCM_63XX || COMPILE_TEST
-	depends on COMMON_CLK
-	default ARCH_BCM_IPROC
+	bool
 	help
 	  Enable common clock framework support for Broadcom SoCs
 	  based on the iProc architecture
 
-if COMMON_CLK_IPROC
-
 config CLK_BCM_CYGNUS
 	bool "Broadcom Cygnus clock support"
 	depends on ARCH_BCM_CYGNUS || COMPILE_TEST
+	select COMMON_CLK_IPROC
 	default ARCH_BCM_CYGNUS
 	help
 	  Enable common clock framework support for the Broadcom Cygnus SoC
@@ -39,6 +33,7 @@ config CLK_BCM_CYGNUS
 config CLK_BCM_NSP
 	bool "Broadcom Northstar/Northstar Plus clock support"
 	depends on ARCH_BCM_5301X || ARCH_BCM_NSP || COMPILE_TEST
+	select COMMON_CLK_IPROC
 	default ARCH_BCM_5301X || ARCH_BCM_NSP
 	help
 	  Enable common clock framework support for the Broadcom Northstar and
@@ -47,8 +42,7 @@ config CLK_BCM_NSP
 config CLK_BCM_NS2
 	bool "Broadcom Northstar 2 clock support"
 	depends on ARCH_BCM_IPROC || COMPILE_TEST
+	select COMMON_CLK_IPROC
 	default ARCH_BCM_IPROC
 	help
 	  Enable common clock framework support for the Broadcom Northstar 2 SoC
-
-endif
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
#1 lore raw

Hi Stephen,

Quoted 23 lines · Stephen Boyd

The broadcom clk driver Kconfig file selects and depends on the COMMON_CLK_IPROC config for different SoC specific drivers. Let's simplify this by always selecting the COMMON_CLK_IPROC config, turning it into a set of library code. We still want to retain the SoC specific options, so we leave those in place. Since we're here we also drop COMMON_CLK dependency because that's implicitly handled by including this file in drivers/clk/Kconfig in the right place and also make CLK_BCM_KONA default to y on the architecture it exists for instead of plain default y.

Cc Florian Fainelli <[email protected]>
Cc Ray Jui <[email protected]>
Cc Jon Mason <[email protected]>
---
 drivers/clk/bcm/Kconfig | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)
drivers/clk/bcm/Kconfig +0 -0
index e3eed5a78404..b5ae5311b0a2 100644

drivers/clk/bcm/Kconfig line 4

Quoted 4 lines
drivers/clk/bcm/Kconfig +0 -1
@@ -1,7 +1,6 @@
 config CLK_BCM_63XX
 	bool "Broadcom BCM63xx clock support"
 	depends on ARCH_BCM_63XX || COMPILE_TEST
-	depends on COMMON_CLK

I think the depends on COMMON_CLK needs to remain?

drivers/clk/bcm/Kconfig config CLK_BCM_63XX · line 14

Quoted 8 lines
drivers/clk/bcm/Kconfig +0 -1
 	select COMMON_CLK_IPROC
 	default ARCH_BCM_63XX
 	help
@@ -11,27 +10,22 @@ config CLK_BCM_63XX
 config CLK_BCM_KONA
 	bool "Broadcom Kona CCU clock support"
 	depends on ARCH_BCM_MOBILE || COMPILE_TEST
-	depends on COMMON_CLK

I think the depends on COMMON_CLK needs to remain?

drivers/clk/bcm/Kconfig config CLK_BCM_63XX · line 24

Quoted 11 lines
drivers/clk/bcm/Kconfig +1 -4
-	default y
+	default ARCH_BCM_MOBILE
 	help
 	  Enable common clock framework support for Broadcom SoCs
 	  using "Kona" style clock control units, including those
 	  in the BCM281xx and BCM21664 families.
 
 config COMMON_CLK_IPROC
-	bool "Broadcom iProc clock support"
-	depends on ARCH_BCM_IPROC || ARCH_BCM_63XX || COMPILE_TEST
-	depends on COMMON_CLK

I think the depends on COMMON_CLK needs to remain?

Quoted 25 lines
drivers/clk/bcm/Kconfig +3 -3
-	default ARCH_BCM_IPROC
+	bool
 	help
 	  Enable common clock framework support for Broadcom SoCs
 	  based on the iProc architecture
 
-if COMMON_CLK_IPROC
-
 config CLK_BCM_CYGNUS
 	bool "Broadcom Cygnus clock support"
 	depends on ARCH_BCM_CYGNUS || COMPILE_TEST
+	select COMMON_CLK_IPROC
 	default ARCH_BCM_CYGNUS
 	help
 	  Enable common clock framework support for the Broadcom Cygnus SoC
@@ -39,6 +33,7 @@ config CLK_BCM_CYGNUS
 config CLK_BCM_NSP
 	bool "Broadcom Northstar/Northstar Plus clock support"
 	depends on ARCH_BCM_5301X || ARCH_BCM_NSP || COMPILE_TEST
+	select COMMON_CLK_IPROC
 	default ARCH_BCM_5301X || ARCH_BCM_NSP
 	help
 	  Enable common clock framework support for the Broadcom Northstar and

drivers/clk/bcm/Kconfig config CLK_BCM_NSP · line 54

Quoted 9 lines
drivers/clk/bcm/Kconfig +1 -2
@@ -47,8 +42,7 @@ config CLK_BCM_NSP
 config CLK_BCM_NS2
 	bool "Broadcom Northstar 2 clock support"
 	depends on ARCH_BCM_IPROC || COMPILE_TEST
+	select COMMON_CLK_IPROC
 	default ARCH_BCM_IPROC
 	help
 	  Enable common clock framework support for the Broadcom Northstar 2 SoC
-
-endif

Regards,
Scott

#2 lore raw
Quoted 5 lines · Scott Branden

drivers/clk/bcm/Kconfig config CLK_BCM_63XX · line 24

Quoted 4 lines

config COMMON_CLK_IPROC

drivers/clk/bcm/Kconfig +0 -3
-    bool "Broadcom iProc clock support"
-    depends on ARCH_BCM_IPROC || ARCH_BCM_63XX || COMPILE_TEST
-    depends on COMMON_CLK

I think the depends on COMMON_CLK needs to remain?

That's not necessary; the options are not visible if COMMON_CLK is not already defined, see drivers/clk/Kconfig:

menu "Common Clock Framework"
depends on COMMON_CLK

...
source "drivers/clk/bcm/Kconfig"

endmenu.

Signature · 1 line
Florian
author Applied
#3 lore raw
In reply to Stephen Boyd
Quoted 10 lines · Stephen Boyd

The broadcom clk driver Kconfig file selects and depends on the COMMON_CLK_IPROC config for different SoC specific drivers. Let's simplify this by always selecting the COMMON_CLK_IPROC config, turning it into a set of library code. We still want to retain the SoC specific options, so we leave those in place. Since we're here we also drop COMMON_CLK dependency because that's implicitly handled by including this file in drivers/clk/Kconfig in the right place and also make CLK_BCM_KONA default to y on the architecture it exists for instead of plain default y.

Quoted 5 lines
Cc Florian Fainelli <[email protected]>
Cc Ray Jui <[email protected]>
Cc Jon Mason <[email protected]>

---

Applied to clk-next

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project