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.montj...@gmail.com>
---
Changes since v1:
- fix subject

 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

Reply via email to