On Mon, Nov 06, 2017 at 03:30:37PM +1100, Stephen Rothwell wrote: > On Mon, 6 Nov 2017 15:21:57 +1100 Stephen Rothwell <s...@canb.auug.org.au> > wrote: > > On Mon, 6 Nov 2017 11:52:14 +1100 Stephen Rothwell <s...@canb.auug.org.au> > > wrote:
> > > After merging the regmap tree, today's linux-next build > > > (arm_multi_v7_defconfig) produced this warning: Not snipping Kconfig errors for context, looks like Kconfig is exploding... > > > 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_SUNXI > > > For a resolution refer to Documentation/kbuild/kconfig-language.txt > > > subsection "Kconfig recursive dependency limitations" > > > drivers/pinctrl/sunxi/Kconfig:3: symbol PINCTRL_SUNXI is selected by > > > PINCTRL_SUN6I_A31_R > > > For a resolution refer to Documentation/kbuild/kconfig-language.txt > > > subsection "Kconfig recursive dependency limitations" > > > drivers/pinctrl/sunxi/Kconfig:21: symbol PINCTRL_SUN6I_A31_R depends on > > > RESET_CONTROLLER > > > For a resolution refer to Documentation/kbuild/kconfig-language.txt > > > subsection "Kconfig recursive dependency limitations" > > > drivers/reset/Kconfig:4: symbol RESET_CONTROLLER is selected by QCOM_SCM > > > For a resolution refer to Documentation/kbuild/kconfig-language.txt > > > subsection "Kconfig recursive dependency limitations" > > > drivers/firmware/Kconfig:205: symbol QCOM_SCM is selected by > > > QCOM_ADSP_PIL > > > For a resolution refer to Documentation/kbuild/kconfig-language.txt > > > subsection "Kconfig recursive dependency limitations" > > > drivers/remoteproc/Kconfig:90: symbol QCOM_ADSP_PIL depends on > > > QCOM_SMEM > > > For a resolution refer to Documentation/kbuild/kconfig-language.txt > > > subsection "Kconfig recursive dependency limitations" > > > drivers/soc/qcom/Kconfig:49: symbol QCOM_SMEM depends on HWSPINLOCK > > > For a resolution refer to Documentation/kbuild/kconfig-language.txt > > > subsection "Kconfig recursive dependency limitations" > > > drivers/hwspinlock/Kconfig:5: symbol HWSPINLOCK is selected by REGMAP > > > For a resolution refer to Documentation/kbuild/kconfig-language.txt > > > subsection "Kconfig recursive dependency limitations" > > > drivers/base/regmap/Kconfig:6: symbol REGMAP is selected by > > > PINCTRL_SX150X > > > For a resolution refer to Documentation/kbuild/kconfig-language.txt > > > subsection "Kconfig recursive dependency limitations" > > > drivers/pinctrl/Kconfig:227: symbol PINCTRL_SX150X is selected by > > > GPIO_SX150X > > > For a resolution refer to Documentation/kbuild/kconfig-language.txt > > > subsection "Kconfig recursive dependency limitations" > > > drivers/gpio/Kconfig:821: symbol GPIO_SX150X depends on GPIOLIB > > > warning: (ARCH_VEXPRESS) selects MFD_VEXPRESS_SYSREG which has unmet > > > direct dependencies (HAS_IOMEM && VEXPRESS_CONFIG && GPIOLIB && > > > !ARCH_USES_GETTIMEOFFSET) > > > warning: (ARCH_NOMADIK && ARCH_U8500) selects PINCTRL_NOMADIK which has > > > unmet direct dependencies (PINCTRL && (ARCH_U8500 || ARCH_NOMADIK) && OF > > > && GPIOLIB) > > > warning: (PINCTRL_AT91 && PINCTRL_AT91PIO4 && PINCTRL_MESON && > > > PINCTRL_OXNAS && PINCTRL_PISTACHIO && PINCTRL_PIC32 && PINCTRL_NOMADIK && > > > PINCTRL_MTK && GPIO_TB10X) selects OF_GPIO which has unmet direct > > > dependencies (GPIOLIB && OF && HAS_IOMEM) > > > Maybe introduced by commit > > > f25637a6b89e ("regmap: Add a config option for hwspinlock") > > Things got worse during the day until config started segfaulting, so I > > reverted this commit. > That necessitated me reverting commits > 8698b9364710 ("regmap: Add hardware spinlock support") > 267f3e4f18f1 ("regmap: Also protect hwspinlock in error handling path") > e8419c40a5ad ("regmap: Clean up hwspinlock on regmap exit") This seems like there's a Kconfig bug, it's claiming HWSPINLOCK is selected by regmap but the select is conditional and not actually enabled. You could potentially get a recursive dependency but there isn't one right now. The root issue here is that HWSPINLOCK can be built modular which makes it very painful to use from core code.
signature.asc
Description: PGP signature