On Wed, Apr 20, 2022 at 1:55 PM Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > The Samsung pinctrl drivers depend on OF_GPIO, which is part of GPIOLIB. > ARMv7 Exynos platform selects GPIOLIB and Samsung pinctrl drivers. ARMv8 > Exynos selects only the latter leading to possible wrong configuration > on ARMv8 build: > > WARNING: unmet direct dependencies detected for PINCTRL_EXYNOS > Depends on [n]: PINCTRL [=y] && OF_GPIO [=n] && (ARCH_EXYNOS [=y] || ARCH_S5PV210 || COMPILE_TEST [=y]) > Selected by [y]: > - ARCH_EXYNOS [=y] > > Reported-by: Necip Fazil Yildiran <fazilyildiran@xxxxxxxxx> > Fixes: eed6b3eb20b9 ("arm64: Split out platform options to separate Kconfig") > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > This does not look like a correct fix: > diff --git a/drivers/pinctrl/samsung/Kconfig b/drivers/pinctrl/samsung/Kconfig > index dfd805e76862..c852fd1dd284 100644 > --- a/drivers/pinctrl/samsung/Kconfig > +++ b/drivers/pinctrl/samsung/Kconfig > @@ -4,13 +4,13 @@ > # > config PINCTRL_SAMSUNG > bool > - depends on OF_GPIO > + select GPIOLIB > + select OF_GPIO > select PINMUX > select PINCONF OF_GPIO is an automatic symbol that is always enabled when both GPIOLIB and OF are enabled. Selecting it from somewhere else cannot really work at all. I see we have a few other instances and should probably fix those as well. > config PINCTRL_EXYNOS > bool "Pinctrl common driver part for Samsung Exynos SoCs" > - depends on OF_GPIO > depends on ARCH_EXYNOS || ARCH_S5PV210 || COMPILE_TEST > select PINCTRL_SAMSUNG > select PINCTRL_EXYNOS_ARM if ARM && (ARCH_EXYNOS || ARCH_S5PV210) The problem here is that PINCTRL_EXYNOS and the others can be built for compile-testing without CONFIG_OF on non-arm machines. I think the correct dependency line would be depends on ARCH_EXYNOS || ARCH_S5PV210 || (COMPILE_TEST && OF) which guarantees that OF_GPIO is also enabled. Arnd