Skip to contentSkip to conversation

pinctrl: sunxi: Fix recursive dependency

PATCH New Maxime Ripard 3 participants 6 messages May 17, 2014 – May 22, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 pinctrl: sunxi: Fix recursive dependency

Fix the following configuration error:
drivers/pinctrl/sunxi/Kconfig:3:error: recursive dependency detected!
drivers/pinctrl/sunxi/Kconfig:3: symbol PINCTRL_SUNXI is selected by PINCTRL_SUN4I_A10
drivers/pinctrl/sunxi/Kconfig:9: symbol PINCTRL_SUN4I_A10 default value contains PINCTRL_SUNXI

Drop the select on PINCTRL_SUNXI, and make PINCTRL_SUNXI enabled by default instead.

---
 drivers/pinctrl/sunxi/Kconfig | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)
drivers/pinctrl/sunxi/Kconfig +1 -7
index 2007327e0c48..8411857d2a45 100644
@@ -1,32 +1,26 @@
 if ARCH_SUNXI
 
 config PINCTRL_SUNXI
-	bool
+	def_bool ARCH_SUNXI
 	select PINMUX
 	select GENERIC_PINCONF
 
 config PINCTRL_SUN4I_A10
        def_bool PINCTRL_SUNXI || MACH_SUN4I
-       select PINCTRL_SUNXI
 
 config PINCTRL_SUN5I_A10S
        def_bool PINCTRL_SUNXI || MACH_SUN5I
-       select PINCTRL_SUNXI
 
 config PINCTRL_SUN5I_A13
        def_bool PINCTRL_SUNXI || MACH_SUN5I
-       select PINCTRL_SUNXI
 
 config PINCTRL_SUN6I_A31
        def_bool PINCTRL_SUNXI || MACH_SUN6I
-       select PINCTRL_SUNXI
 
 config PINCTRL_SUN6I_A31_R
        def_bool PINCTRL_SUNXI || MACH_SUN6I
-       select PINCTRL_SUNXI
 
 config PINCTRL_SUN7I_A20
        def_bool PINCTRL_SUNXI || MACH_SUN7I
-       select PINCTRL_SUNXI
 
 endif
Signature · 1 line
1.9.3
#1 lore raw

PATCH 1/1 pinctrl: sunxi: Fix recursive dependency

Quoted 8 lines · On Saturday 17 May 2014 18:21:55 Maxime Ripard wrote:

Fix the following configuration error:
drivers/pinctrl/sunxi/Kconfig:3:error: recursive dependency detected!
drivers/pinctrl/sunxi/Kconfig:3: symbol PINCTRL_SUNXI is selected by PINCTRL_SUN4I_A10
drivers/pinctrl/sunxi/Kconfig:9: symbol PINCTRL_SUN4I_A10 default value contains PINCTRL_SUNXI

Drop the select on PINCTRL_SUNXI, and make PINCTRL_SUNXI enabled by default instead.

I stubled over the same thing already, but came to a different conclusion.

Quoted 10 lines
 drivers/pinctrl/sunxi/Kconfig | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)
drivers/pinctrl/sunxi/Kconfig +0 -0
index 2007327e0c48..8411857d2a45 100644
@@ -1,32 +1,26 @@
 if ARCH_SUNXI
 

drivers/pinctrl/sunxi/Kconfig line 10

Quoted 10 lines
drivers/pinctrl/sunxi/Kconfig +1 -2
 config PINCTRL_SUNXI
-       bool
+       def_bool ARCH_SUNXI
        select PINMUX
        select GENERIC_PINCONF
 
 config PINCTRL_SUN4I_A10
        def_bool PINCTRL_SUNXI || MACH_SUN4I
-       select PINCTRL_SUNXI
 

This means you won't be able to stop selecting all drivers dropping the 'select PINCTRL_SUNXI' later. How about this one?

drivers/pinctrl/sunxi/Kconfig +9 -6
index 2007327..75b71bb 100644
@@ -2,31 +2,34 @@ if ARCH_SUNXI
 
 config PINCTRL_SUNXI
 	bool
+
+config PINCTRL_SUNXI_COMMON
+	bool
 	select PINMUX
 	select GENERIC_PINCONF
 
 config PINCTRL_SUN4I_A10
        def_bool PINCTRL_SUNXI || MACH_SUN4I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 config PINCTRL_SUN5I_A10S
        def_bool PINCTRL_SUNXI || MACH_SUN5I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 config PINCTRL_SUN5I_A13
        def_bool PINCTRL_SUNXI || MACH_SUN5I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 config PINCTRL_SUN6I_A31
        def_bool PINCTRL_SUNXI || MACH_SUN6I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 config PINCTRL_SUN6I_A31_R
        def_bool PINCTRL_SUNXI || MACH_SUN6I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 config PINCTRL_SUN7I_A20
        def_bool PINCTRL_SUNXI || MACH_SUN7I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 endif
drivers/pinctrl/sunxi/Makefile +1 -1
index 8e23a15..0f4461c 100644
@@ -1,5 +1,5 @@
 # Core
-obj-$(CONFIG_PINCTRL_SUNXI)	+= pinctrl-sunxi.o
+obj-$(CONFIG_PINCTRL_SUNXI_COMMON)	+= pinctrl-sunxi.o
 
 # SoC Drivers
 obj-$(CONFIG_PINCTRL_SUN4I_A10)		+= pinctrl-sun4i-a10.o
#2 lore raw

PATCH 1/1 pinctrl: sunxi: Fix recursive dependency

Hi

Quoted 28 lines · Arnd Bergmann
Quoted 8 lines · On Saturday 17 May 2014 18:21:55 Maxime Ripard wrote:

Fix the following configuration error:
drivers/pinctrl/sunxi/Kconfig:3:error: recursive dependency detected!
drivers/pinctrl/sunxi/Kconfig:3: symbol PINCTRL_SUNXI is selected by PINCTRL_SUN4I_A10
drivers/pinctrl/sunxi/Kconfig:9: symbol PINCTRL_SUN4I_A10 default value contains PINCTRL_SUNXI

Drop the select on PINCTRL_SUNXI, and make PINCTRL_SUNXI enabled by default instead.

I stubled over the same thing already, but came to a different conclusion.

Quoted 16 lines
 drivers/pinctrl/sunxi/Kconfig | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)
drivers/pinctrl/sunxi/Kconfig +1 -1
index 2007327e0c48..8411857d2a45 100644
@@ -1,32 +1,26 @@
 if ARCH_SUNXI
 
 config PINCTRL_SUNXI
-       bool
+       def_bool ARCH_SUNXI
        select PINMUX
        select GENERIC_PINCONF
 
Quoted 7 lines

drivers/pinctrl/sunxi/Kconfig if ARCH_SUNXI · line 14

Quoted 4 lines
drivers/pinctrl/sunxi/Kconfig +0 -1
 config PINCTRL_SUN4I_A10
        def_bool PINCTRL_SUNXI || MACH_SUN4I
-       select PINCTRL_SUNXI
 

This means you won't be able to stop selecting all drivers dropping the 'select PINCTRL_SUNXI' later. How about this one?

I'm not sure what you mean here.

We won't have to select PINCTRL_SUNXI anymore with this patch either, since it's already enabled whenever ARCH_SUNXI is enabled.

And the drivers won't have to be selected either, because they will either default to PINCTRL_SUNXI, or to the MACH_SUN*I definition.

As I was saying in the commit log, this is just a temporary solution, and eventually, and the select PINCTRL_SUNXI should be removed eventually.

Quoted 54 lines
drivers/pinctrl/sunxi/Kconfig +9 -6
index 2007327..75b71bb 100644
@@ -2,31 +2,34 @@ if ARCH_SUNXI
 
 config PINCTRL_SUNXI
 	bool
+
+config PINCTRL_SUNXI_COMMON
+	bool
 	select PINMUX
 	select GENERIC_PINCONF
 
 config PINCTRL_SUN4I_A10
        def_bool PINCTRL_SUNXI || MACH_SUN4I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 config PINCTRL_SUN5I_A10S
        def_bool PINCTRL_SUNXI || MACH_SUN5I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 config PINCTRL_SUN5I_A13
        def_bool PINCTRL_SUNXI || MACH_SUN5I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 config PINCTRL_SUN6I_A31
        def_bool PINCTRL_SUNXI || MACH_SUN6I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 config PINCTRL_SUN6I_A31_R
        def_bool PINCTRL_SUNXI || MACH_SUN6I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 config PINCTRL_SUN7I_A20
        def_bool PINCTRL_SUNXI || MACH_SUN7I
-       select PINCTRL_SUNXI
+       select PINCTRL_SUNXI_COMMON
 
 endif
drivers/pinctrl/sunxi/Makefile +0 -0
index 8e23a15..0f4461c 100644

drivers/pinctrl/sunxi/Makefile line 5

Quoted 6 lines
drivers/pinctrl/sunxi/Makefile +1 -1
@@ -1,5 +1,5 @@
 # Core
-obj-$(CONFIG_PINCTRL_SUNXI)	+= pinctrl-sunxi.o
+obj-$(CONFIG_PINCTRL_SUNXI_COMMON)	+= pinctrl-sunxi.o
 
 # SoC Drivers
 obj-$(CONFIG_PINCTRL_SUN4I_A10)		+= pinctrl-sun4i-a10.o

I'm afraid I don't get the difference...

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140519/574ad05c/attachment.sig>
#3 lore raw

PATCH 1/1 pinctrl: sunxi: Fix recursive dependency

Quoted 44 lines · On Monday 19 May 2014 16:29:13 Maxime Ripard wrote:

Hi

Quoted 28 lines · Arnd Bergmann
Quoted 8 lines · On Saturday 17 May 2014 18:21:55 Maxime Ripard wrote:

Fix the following configuration error:
drivers/pinctrl/sunxi/Kconfig:3:error: recursive dependency detected!
drivers/pinctrl/sunxi/Kconfig:3: symbol PINCTRL_SUNXI is selected by PINCTRL_SUN4I_A10
drivers/pinctrl/sunxi/Kconfig:9: symbol PINCTRL_SUN4I_A10 default value contains PINCTRL_SUNXI

Drop the select on PINCTRL_SUNXI, and make PINCTRL_SUNXI enabled by default instead.

I stubled over the same thing already, but came to a different conclusion.

Quoted 16 lines
 drivers/pinctrl/sunxi/Kconfig | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)
drivers/pinctrl/sunxi/Kconfig +1 -1
index 2007327e0c48..8411857d2a45 100644
@@ -1,32 +1,26 @@
 if ARCH_SUNXI
 
 config PINCTRL_SUNXI
-       bool
+       def_bool ARCH_SUNXI
        select PINMUX
        select GENERIC_PINCONF
 
Quoted 7 lines

drivers/pinctrl/sunxi/Kconfig if ARCH_SUNXI · line 14

Quoted 4 lines
drivers/pinctrl/sunxi/Kconfig +0 -1
 config PINCTRL_SUN4I_A10
        def_bool PINCTRL_SUNXI || MACH_SUN4I
-       select PINCTRL_SUNXI
 

This means you won't be able to stop selecting all drivers dropping the 'select PINCTRL_SUNXI' later. How about this one?

I'm not sure what you mean here.

We won't have to select PINCTRL_SUNXI anymore with this patch either, since it's already enabled whenever ARCH_SUNXI is enabled.

Quoted 6 lines

And the drivers won't have to be selected either, because they will either default to PINCTRL_SUNXI, or to the MACH_SUN*I definition.

As I was saying in the commit log, this is just a temporary solution, and eventually, and the select PINCTRL_SUNXI should be removed eventually.

The difference is that in your patch, PINCTRL_SUNXI defaults to 'y' if ARCH_SUNXI is set, so you have to remove both the 'select' and the 'def_bool' and then put back the 'select PINCTRL_SUNXI' for the individual drivers. I guess it's not a big difference, you just end up doing one patch extra.

Arnd

#4 lore raw

PATCH 1/1 pinctrl: sunxi: Fix recursive dependency

Quoted 52 lines · Arnd Bergmann
Quoted 44 lines · On Monday 19 May 2014 16:29:13 Maxime Ripard wrote:

Hi

Quoted 28 lines · Arnd Bergmann
Quoted 8 lines · On Saturday 17 May 2014 18:21:55 Maxime Ripard wrote:

Fix the following configuration error:
drivers/pinctrl/sunxi/Kconfig:3:error: recursive dependency detected!
drivers/pinctrl/sunxi/Kconfig:3: symbol PINCTRL_SUNXI is selected by PINCTRL_SUN4I_A10
drivers/pinctrl/sunxi/Kconfig:9: symbol PINCTRL_SUN4I_A10 default value contains PINCTRL_SUNXI

Drop the select on PINCTRL_SUNXI, and make PINCTRL_SUNXI enabled by default instead.

I stubled over the same thing already, but came to a different conclusion.

Quoted 16 lines
 drivers/pinctrl/sunxi/Kconfig | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)
drivers/pinctrl/sunxi/Kconfig +1 -1
index 2007327e0c48..8411857d2a45 100644
@@ -1,32 +1,26 @@
 if ARCH_SUNXI
 
 config PINCTRL_SUNXI
-       bool
+       def_bool ARCH_SUNXI
        select PINMUX
        select GENERIC_PINCONF
 
Quoted 7 lines

drivers/pinctrl/sunxi/Kconfig if ARCH_SUNXI · line 14

Quoted 4 lines
drivers/pinctrl/sunxi/Kconfig +0 -1
 config PINCTRL_SUN4I_A10
        def_bool PINCTRL_SUNXI || MACH_SUN4I
-       select PINCTRL_SUNXI
 

This means you won't be able to stop selecting all drivers dropping the 'select PINCTRL_SUNXI' later. How about this one?

I'm not sure what you mean here.

We won't have to select PINCTRL_SUNXI anymore with this patch either, since it's already enabled whenever ARCH_SUNXI is enabled.

Quoted 6 lines

And the drivers won't have to be selected either, because they will either default to PINCTRL_SUNXI, or to the MACH_SUN*I definition.

As I was saying in the commit log, this is just a temporary solution, and eventually, and the select PINCTRL_SUNXI should be removed eventually.

Quoted 5 lines

The difference is that in your patch, PINCTRL_SUNXI defaults to 'y' if ARCH_SUNXI is set, so you have to remove both the 'select' and the 'def_bool' and then put back the 'select PINCTRL_SUNXI' for the individual drivers. I guess it's not a big difference, you just end up doing one patch extra.

Ah, yes. I guess we can take your patch then.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140520/03ff14d9/attachment.sig>
#5 lore raw

PATCH 1/1 pinctrl: sunxi: Fix recursive dependency

In reply to Arnd Bergmann
Quoted 1 line · Arnd Bergmann

I stubled over the same thing already, but came to a different conclusion.

(...)

Quoted 4 lines

This means you won't be able to stop selecting all drivers dropping the 'select PINCTRL_SUNXI' later. How about this one?

I conjured a commit message and applied Arnd's patch.

Yours,
Linus Walleij