diff mbox

[v2] clk: sunxi-ng: Fix dependency on SUNXI_CCU_GATE

Message ID 20170426115319.30951-1-clabbe.montjoie@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Corentin Labbe April 26, 2017, 11:53 a.m. UTC
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@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(-)

Comments

Maxime Ripard April 27, 2017, 7:04 a.m. UTC | #1
On Wed, Apr 26, 2017 at 01:53:19PM +0200, Corentin Labbe wrote:
> 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@gmail.com>

I think Chen-Yu had some comments that you didn't address.

Maxime
Corentin Labbe April 27, 2017, 8:12 a.m. UTC | #2
On Thu, Apr 27, 2017 at 09:04:36AM +0200, Maxime Ripard wrote:
> On Wed, Apr 26, 2017 at 01:53:19PM +0200, Corentin Labbe wrote:
> > 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@gmail.com>
> 
> I think Chen-Yu had some comments that you didn't address.
> 

I have changed subject as requested
Stephen Boyd April 28, 2017, 1:15 a.m. UTC | #3
On 04/27, Corentin Labbe wrote:
> On Thu, Apr 27, 2017 at 09:04:36AM +0200, Maxime Ripard wrote:
> > On Wed, Apr 26, 2017 at 01:53:19PM +0200, Corentin Labbe wrote:
> > > 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@gmail.com>
> > 
> > I think Chen-Yu had some comments that you didn't address.
> > 
> 
> I have changed subject as requested

There were more comments than just fixing the subject. And now
Arnd has sent a patch. This is a problem in mainline, and the
release is days away. I'm inclined to go with Arnd's patch unless
someone sends something else and forward it directly to Linus.
Corentin Labbe April 28, 2017, 12:05 p.m. UTC | #4
On Thu, Apr 27, 2017 at 06:15:33PM -0700, Stephen Boyd wrote:
> On 04/27, Corentin Labbe wrote:
> > On Thu, Apr 27, 2017 at 09:04:36AM +0200, Maxime Ripard wrote:
> > > On Wed, Apr 26, 2017 at 01:53:19PM +0200, Corentin Labbe wrote:
> > > > 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@gmail.com>
> > > 
> > > I think Chen-Yu had some comments that you didn't address.
> > > 
> > 
> > I have changed subject as requested
> 
> There were more comments than just fixing the subject. And now
> Arnd has sent a patch. This is a problem in mainline, and the
> release is days away. I'm inclined to go with Arnd's patch unless
> someone sends something else and forward it directly to Linus.

Sorry, I havent see the rest of wens's comments.
Go for Arnd's patch.
diff mbox

Patch

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