Re: [PATCH] clk: bcm: Fix unmet Kconfig dependencies for CLK_BCM_63XX
From: Stephen Boyd
Date: Wed Nov 23 2016 - 15:18:27 EST
On 11/22, Florian Fainelli wrote:
> With commit f4e871509959 ("clk: iproc: Make clocks visible options"),
> COMMON_CLK_IPROC gained a dependency on ARCH_BCM_IPROC, yet CLK_BCM_63XX
> also selects that option, this causes the following Kconfig warning:
>
> warning: (CLK_BCM_63XX) selects COMMON_CLK_IPROC which has unmet direct
> dependencies ((ARCH_BCM_IPROC || COMPILE_TEST) && COMMON_CLK)
>
> Fix this by adding proper depends/default for COMMON_CLK_IPROC
>
> Fixes: f4e871509959 ("clk: iproc: Make clocks visible options")
> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
> ---
> drivers/clk/bcm/Kconfig | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/clk/bcm/Kconfig b/drivers/clk/bcm/Kconfig
> index f21e9b7afd1a..80de9fc2e833 100644
> --- a/drivers/clk/bcm/Kconfig
> +++ b/drivers/clk/bcm/Kconfig
> @@ -20,9 +20,9 @@ config CLK_BCM_KONA
>
> config COMMON_CLK_IPROC
> bool "Broadcom iProc clock support"
> - depends on ARCH_BCM_IPROC || COMPILE_TEST
> + depends on ARCH_BCM_IPROC || ARCH_BCM_63XX || COMPILE_TEST
> depends on COMMON_CLK
> - default ARCH_BCM_IPROC
> + default ARCH_BCM_IPROC || ARCH_BCM_63XX
> help
> Enable common clock framework support for Broadcom SoCs
> based on the iProc architecture
It's confusing that CLK_BCM_63XX selects COMMON_CLK_IPROC and the
other drivers don't. Also, why are we now defaulting IPROC to be
true when ARCH_BCM_63XX is there? It will be selected anyway by
the clk driver on that machine so what's the point?
I'd prefer we handled this one way instead of two. Given that
COMMON_CLK_IPROC is a symbol for what looks like a library it
seems that it needs to be a hidden option that gets selected by
the other three options for the machine specific drivers.
I'd like to drop the default ARCH_BCM_63XX part of your patch,
merge that for 4.9 and apply this on top for 4.10. Agreed?
----8<----
diff --git a/drivers/clk/bcm/Kconfig b/drivers/clk/bcm/Kconfig
index f21e9b7afd1a..b5ae5311b0a2 100644
--- a/drivers/clk/bcm/Kconfig
+++ b/drivers/clk/bcm/Kconfig
@@ -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 || 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
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project