* [PATCH 0/2] gpio: select IRQ_DOMAIN_HIERARCHY fixing curcular Kconfig dependency
@ 2017-07-11 23:11 Masahiro Yamada
2017-07-11 23:11 ` [PATCH 1/2] pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on Masahiro Yamada
2017-07-11 23:11 ` [PATCH 2/2] gpio: xgene-sb: select IRQ_DOMAIN_HIERARCHY Masahiro Yamada
0 siblings, 2 replies; 6+ messages in thread
From: Masahiro Yamada @ 2017-07-11 23:11 UTC (permalink / raw)
To: linux-gpio
Cc: Masahiro Yamada, Arnd Bergmann, Alexandre Torgue, Linus Walleij,
linux-kernel, Maxime Coquelin, linux-arm-kernel
1/2 touches pinctrl driver, but
I want both patches in GPIO tree
because 1/2 is a prerequisite for 2/2.
Otherwise, Kconfig reports recursive dependency.
I noticed this problem when I added "select IRQ_DOMAIN_HIERARCHY"
to my GPIO driver, which I will submit later.
Please apply 1/2 to GPIO tree, not pinctrl tree.
Masahiro Yamada (2):
pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on
gpio: xgene-sb: select IRQ_DOMAIN_HIERARCHY
drivers/gpio/Kconfig | 1 +
drivers/pinctrl/stm32/Kconfig | 9 +++++----
2 files changed, 6 insertions(+), 4 deletions(-)
--
2.7.4
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on
2017-07-11 23:11 [PATCH 0/2] gpio: select IRQ_DOMAIN_HIERARCHY fixing curcular Kconfig dependency Masahiro Yamada
@ 2017-07-11 23:11 ` Masahiro Yamada
2017-07-12 8:09 ` Alexandre Torgue
2017-08-01 8:05 ` Linus Walleij
2017-07-11 23:11 ` [PATCH 2/2] gpio: xgene-sb: select IRQ_DOMAIN_HIERARCHY Masahiro Yamada
1 sibling, 2 replies; 6+ messages in thread
From: Masahiro Yamada @ 2017-07-11 23:11 UTC (permalink / raw)
To: linux-gpio
Cc: Masahiro Yamada, Arnd Bergmann, Alexandre Torgue, Linus Walleij,
linux-kernel, Maxime Coquelin, linux-arm-kernel
Drivers that need IRQ_DOMAIN_HIERARCHY should "select" it, but
drivers/pinctrl/stm32/Kconfig is the only exception that uses
"depends on" syntax. This prevents GPIO drivers from select'ing
IRQ_DOMAIN_HIERARCHY.
For example, if I add "select IRQ_DOMAIN_HIERARCHY" to GPIO_XGENE_SB,
I get the following recursive dependency error.
drivers/gpio/Kconfig:13:error: recursive dependency detected!
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpio/Kconfig:13: symbol GPIOLIB is selected by PINCTRL_STM32
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/pinctrl/stm32/Kconfig:3: symbol PINCTRL_STM32 is selected by PINCTRL_STM32F429
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/pinctrl/stm32/Kconfig:11: symbol PINCTRL_STM32F429 depends on IRQ_DOMAIN_HIERARCHY
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
kernel/irq/Kconfig:67: symbol IRQ_DOMAIN_HIERARCHY is selected by GPIO_XGENE_SB
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
drivers/gpio/Kconfig:502: symbol GPIO_XGENE_SB depends on GPIOLIB
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
drivers/pinctrl/stm32/Kconfig | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/pinctrl/stm32/Kconfig b/drivers/pinctrl/stm32/Kconfig
index 3b8026fca057..7e1fe39a56a5 100644
--- a/drivers/pinctrl/stm32/Kconfig
+++ b/drivers/pinctrl/stm32/Kconfig
@@ -6,29 +6,30 @@ config PINCTRL_STM32
select PINMUX
select GENERIC_PINCONF
select GPIOLIB
+ select IRQ_DOMAIN_HIERARCHY
select MFD_SYSCON
config PINCTRL_STM32F429
bool "STMicroelectronics STM32F429 pin control" if COMPILE_TEST && !MACH_STM32F429
- depends on OF && IRQ_DOMAIN_HIERARCHY
+ depends on OF
default MACH_STM32F429
select PINCTRL_STM32
config PINCTRL_STM32F469
bool "STMicroelectronics STM32F469 pin control" if COMPILE_TEST && !MACH_STM32F469
- depends on OF && IRQ_DOMAIN_HIERARCHY
+ depends on OF
default MACH_STM32F469
select PINCTRL_STM32
config PINCTRL_STM32F746
bool "STMicroelectronics STM32F746 pin control" if COMPILE_TEST && !MACH_STM32F746
- depends on OF && IRQ_DOMAIN_HIERARCHY
+ depends on OF
default MACH_STM32F746
select PINCTRL_STM32
config PINCTRL_STM32H743
bool "STMicroelectronics STM32H743 pin control" if COMPILE_TEST && !MACH_STM32H743
- depends on OF && IRQ_DOMAIN_HIERARCHY
+ depends on OF
default MACH_STM32H743
select PINCTRL_STM32
endif
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] gpio: xgene-sb: select IRQ_DOMAIN_HIERARCHY
2017-07-11 23:11 [PATCH 0/2] gpio: select IRQ_DOMAIN_HIERARCHY fixing curcular Kconfig dependency Masahiro Yamada
2017-07-11 23:11 ` [PATCH 1/2] pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on Masahiro Yamada
@ 2017-07-11 23:11 ` Masahiro Yamada
2017-08-01 8:06 ` Linus Walleij
1 sibling, 1 reply; 6+ messages in thread
From: Masahiro Yamada @ 2017-07-11 23:11 UTC (permalink / raw)
To: linux-gpio; +Cc: Masahiro Yamada, Linus Walleij, linux-kernel
This driver calls irq_domain_hierarchy() and irq_chip_*_parent().
They are available only when CONFIG_IRQ_DOMAIN_HIERARCHY is enabled.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
drivers/gpio/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index f235eae04c16..461d6fc3688b 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -504,6 +504,7 @@ config GPIO_XGENE_SB
depends on ARCH_XGENE && OF_GPIO
select GPIO_GENERIC
select GPIOLIB_IRQCHIP
+ select IRQ_DOMAIN_HIERARCHY
help
This driver supports the GPIO block within the APM X-Gene
Standby Domain. Say yes here to enable the GPIO functionality.
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on
2017-07-11 23:11 ` [PATCH 1/2] pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on Masahiro Yamada
@ 2017-07-12 8:09 ` Alexandre Torgue
2017-08-01 8:05 ` Linus Walleij
1 sibling, 0 replies; 6+ messages in thread
From: Alexandre Torgue @ 2017-07-12 8:09 UTC (permalink / raw)
To: Masahiro Yamada, linux-gpio
Cc: Arnd Bergmann, Linus Walleij, linux-kernel, Maxime Coquelin,
linux-arm-kernel
Hi,
On 07/12/2017 01:11 AM, Masahiro Yamada wrote:
> Drivers that need IRQ_DOMAIN_HIERARCHY should "select" it, but
> drivers/pinctrl/stm32/Kconfig is the only exception that uses
> "depends on" syntax. This prevents GPIO drivers from select'ing
> IRQ_DOMAIN_HIERARCHY.
>
> For example, if I add "select IRQ_DOMAIN_HIERARCHY" to GPIO_XGENE_SB,
> I get the following recursive dependency error.
>
> drivers/gpio/Kconfig:13:error: recursive dependency detected!
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpio/Kconfig:13: symbol GPIOLIB is selected by PINCTRL_STM32
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/pinctrl/stm32/Kconfig:3: symbol PINCTRL_STM32 is selected by PINCTRL_STM32F429
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/pinctrl/stm32/Kconfig:11: symbol PINCTRL_STM32F429 depends on IRQ_DOMAIN_HIERARCHY
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> kernel/irq/Kconfig:67: symbol IRQ_DOMAIN_HIERARCHY is selected by GPIO_XGENE_SB
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpio/Kconfig:502: symbol GPIO_XGENE_SB depends on GPIOLIB
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com
> ---
Thanks for the patch.
Tested-by: Alexandre TORGUE <alexandre.torgue@st.com>
regards
Alex
>
> drivers/pinctrl/stm32/Kconfig | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/pinctrl/stm32/Kconfig b/drivers/pinctrl/stm32/Kconfig
> index 3b8026fca057..7e1fe39a56a5 100644
> --- a/drivers/pinctrl/stm32/Kconfig
> +++ b/drivers/pinctrl/stm32/Kconfig
> @@ -6,29 +6,30 @@ config PINCTRL_STM32
> select PINMUX
> select GENERIC_PINCONF
> select GPIOLIB
> + select IRQ_DOMAIN_HIERARCHY
> select MFD_SYSCON
>
> config PINCTRL_STM32F429
> bool "STMicroelectronics STM32F429 pin control" if COMPILE_TEST && !MACH_STM32F429
> - depends on OF && IRQ_DOMAIN_HIERARCHY
> + depends on OF
> default MACH_STM32F429
> select PINCTRL_STM32
>
> config PINCTRL_STM32F469
> bool "STMicroelectronics STM32F469 pin control" if COMPILE_TEST && !MACH_STM32F469
> - depends on OF && IRQ_DOMAIN_HIERARCHY
> + depends on OF
> default MACH_STM32F469
> select PINCTRL_STM32
>
> config PINCTRL_STM32F746
> bool "STMicroelectronics STM32F746 pin control" if COMPILE_TEST && !MACH_STM32F746
> - depends on OF && IRQ_DOMAIN_HIERARCHY
> + depends on OF
> default MACH_STM32F746
> select PINCTRL_STM32
>
> config PINCTRL_STM32H743
> bool "STMicroelectronics STM32H743 pin control" if COMPILE_TEST && !MACH_STM32H743
> - depends on OF && IRQ_DOMAIN_HIERARCHY
> + depends on OF
> default MACH_STM32H743
> select PINCTRL_STM32
> endif
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on
2017-07-11 23:11 ` [PATCH 1/2] pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on Masahiro Yamada
2017-07-12 8:09 ` Alexandre Torgue
@ 2017-08-01 8:05 ` Linus Walleij
1 sibling, 0 replies; 6+ messages in thread
From: Linus Walleij @ 2017-08-01 8:05 UTC (permalink / raw)
To: Masahiro Yamada
Cc: linux-gpio, Arnd Bergmann, Alexandre Torgue, linux-kernel,
Maxime Coquelin, linux-arm-kernel
On Wed, Jul 12, 2017 at 1:11 AM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> Drivers that need IRQ_DOMAIN_HIERARCHY should "select" it, but
> drivers/pinctrl/stm32/Kconfig is the only exception that uses
> "depends on" syntax. This prevents GPIO drivers from select'ing
> IRQ_DOMAIN_HIERARCHY.
>
> For example, if I add "select IRQ_DOMAIN_HIERARCHY" to GPIO_XGENE_SB,
> I get the following recursive dependency error.
>
> drivers/gpio/Kconfig:13:error: recursive dependency detected!
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpio/Kconfig:13: symbol GPIOLIB is selected by PINCTRL_STM32
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/pinctrl/stm32/Kconfig:3: symbol PINCTRL_STM32 is selected by PINCTRL_STM32F429
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/pinctrl/stm32/Kconfig:11: symbol PINCTRL_STM32F429 depends on IRQ_DOMAIN_HIERARCHY
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> kernel/irq/Kconfig:67: symbol IRQ_DOMAIN_HIERARCHY is selected by GPIO_XGENE_SB
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpio/Kconfig:502: symbol GPIO_XGENE_SB depends on GPIOLIB
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Patch applied for GPIO fixes with Alexandre's test tag.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] gpio: xgene-sb: select IRQ_DOMAIN_HIERARCHY
2017-07-11 23:11 ` [PATCH 2/2] gpio: xgene-sb: select IRQ_DOMAIN_HIERARCHY Masahiro Yamada
@ 2017-08-01 8:06 ` Linus Walleij
0 siblings, 0 replies; 6+ messages in thread
From: Linus Walleij @ 2017-08-01 8:06 UTC (permalink / raw)
To: Masahiro Yamada; +Cc: linux-gpio, linux-kernel
On Wed, Jul 12, 2017 at 1:11 AM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> This driver calls irq_domain_hierarchy() and irq_chip_*_parent().
> They are available only when CONFIG_IRQ_DOMAIN_HIERARCHY is enabled.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Patch applied for GPIO fixes on top of 1/2.
Thanks for the thorough fix, very impressed with this good
work.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-08-01 8:06 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-11 23:11 [PATCH 0/2] gpio: select IRQ_DOMAIN_HIERARCHY fixing curcular Kconfig dependency Masahiro Yamada
2017-07-11 23:11 ` [PATCH 1/2] pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on Masahiro Yamada
2017-07-12 8:09 ` Alexandre Torgue
2017-08-01 8:05 ` Linus Walleij
2017-07-11 23:11 ` [PATCH 2/2] gpio: xgene-sb: select IRQ_DOMAIN_HIERARCHY Masahiro Yamada
2017-08-01 8:06 ` Linus Walleij
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).