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