[PATCH] clk: sunxi-ng: Fix dependency on sunxi_gate

Corentin Labbe clabbe.montjoie at gmail.com
Tue Apr 25 13:12:09 EDT 2017


When CONFIG_SUNXI_CCU is set but no other SUNXI_CCU is selected i got
the following build error:
drivers/built-in.o: In function `ccu_pll_notifier_cb':
drivers/clk/sunxi-ng/ccu_common.c:71: undefined reference to `ccu_gate_helper_disable'
drivers/clk/sunxi-ng/ccu_common.c:73: undefined reference to `ccu_gate_helper_enable'

The problem is the function ccu_pll_notifier_cb in ccu_common.c need
some function from ccu_gate.c which is not compiled since SUNXI_CCU_GATE
is not selected.

This patch remove SUNXI_CCU_GATE and compile ccu_gate.c unconditionnaly
since all other combination of options select SUNXI_CCU_GATE finally.

Fixes: 02ae2bc6febd ("clk: sunxi-ng: Add clk notifier to gate then ungate PLL clocks")
Signed-off-by: Corentin Labbe <clabbe.montjoie at gmail.com>
---
 drivers/clk/sunxi-ng/Kconfig  | 11 -----------
 drivers/clk/sunxi-ng/Makefile |  2 +-
 2 files changed, 1 insertion(+), 12 deletions(-)

diff --git a/drivers/clk/sunxi-ng/Kconfig b/drivers/clk/sunxi-ng/Kconfig
index 8bee225..d7842f9 100644
--- a/drivers/clk/sunxi-ng/Kconfig
+++ b/drivers/clk/sunxi-ng/Kconfig
@@ -15,9 +15,6 @@ config SUNXI_CCU_DIV
 config SUNXI_CCU_FRAC
 	bool
 
-config SUNXI_CCU_GATE
-	bool
-
 config SUNXI_CCU_MUX
 	bool
 
@@ -32,24 +29,19 @@ config SUNXI_CCU_PHASE
 
 config SUNXI_CCU_NK
 	bool
-	select SUNXI_CCU_GATE
 
 config SUNXI_CCU_NKM
 	bool
-	select SUNXI_CCU_GATE
 
 config SUNXI_CCU_NKMP
 	bool
-	select SUNXI_CCU_GATE
 
 config SUNXI_CCU_NM
 	bool
 	select SUNXI_CCU_FRAC
-	select SUNXI_CCU_GATE
 
 config SUNXI_CCU_MP
 	bool
-	select SUNXI_CCU_GATE
 	select SUNXI_CCU_MUX
 
 # SoC Drivers
@@ -119,7 +111,6 @@ config SUN8I_A33_CCU
 config SUN8I_A83T_CCU
 	bool "Support for the Allwinner A83T CCU"
 	select SUNXI_CCU_DIV
-	select SUNXI_CCU_GATE
 	select SUNXI_CCU_NKMP
 	select SUNXI_CCU_NM
 	select SUNXI_CCU_MP
@@ -154,7 +145,6 @@ config SUN9I_A80_CCU
 	bool "Support for the Allwinner A80 CCU"
 	select SUNXI_CCU_DIV
 	select SUNXI_CCU_MULT
-	select SUNXI_CCU_GATE
 	select SUNXI_CCU_NKMP
 	select SUNXI_CCU_NM
 	select SUNXI_CCU_MP
@@ -165,7 +155,6 @@ config SUN9I_A80_CCU
 config SUN8I_R_CCU
 	bool "Support for Allwinner SoCs' PRCM CCUs"
 	select SUNXI_CCU_DIV
-	select SUNXI_CCU_GATE
 	default MACH_SUN8I || (ARCH_SUNXI && ARM64)
 
 endif
diff --git a/drivers/clk/sunxi-ng/Makefile b/drivers/clk/sunxi-ng/Makefile
index 78028c8..52aab41 100644
--- a/drivers/clk/sunxi-ng/Makefile
+++ b/drivers/clk/sunxi-ng/Makefile
@@ -1,11 +1,11 @@
 # Common objects
 obj-$(CONFIG_SUNXI_CCU)		+= ccu_common.o
 obj-$(CONFIG_SUNXI_CCU)		+= ccu_reset.o
+obj-$(CONFIG_SUNXI_CCU)		+= ccu_gate.o
 
 # Base clock types
 obj-$(CONFIG_SUNXI_CCU_DIV)	+= ccu_div.o
 obj-$(CONFIG_SUNXI_CCU_FRAC)	+= ccu_frac.o
-obj-$(CONFIG_SUNXI_CCU_GATE)	+= ccu_gate.o
 obj-$(CONFIG_SUNXI_CCU_MUX)	+= ccu_mux.o
 obj-$(CONFIG_SUNXI_CCU_MULT)	+= ccu_mult.o
 obj-$(CONFIG_SUNXI_CCU_PHASE)	+= ccu_phase.o
-- 
2.10.2




More information about the linux-arm-kernel mailing list