Re: [PATCH v1 3/4] pinctrl: samsung: change PINCTRL_EXYNOS default config logic

From: Lee Jones
Date: Tue Sep 21 2021 - 04:18:33 EST


On Tue, 21 Sep 2021, Krzysztof Kozlowski wrote:

> On 20/09/2021 21:03, Will McVicker wrote:
> > Switching the default config logic of PINCTRL_EXYNOS to use "default
> > y if ARCH_EXYNOS" versus having ARCH_EXYNOS directly select the config.
> > This gives vendors the flexibility to disable the config or modularize
> > it in the presence of a generic kernel.
>
> Reasoning is incorrect. This is an essential driver which CANNOT be
> disabled for any kernel having ARCH_EXYNOS or ARCH_S5PV210. You are
> trying to prepare it for some out-of-tree code? Please, upstream your
> code instead.

No additional code is required to build a generic kernel. The only
difference would be a vendor's defconfig/fragment.

The aim of this set is to provide more flexibility around how driver
symbols can be configured via Kconfig. Currently if ARCH_EXYNOS
(which is required if we wish to provide SERIAL_SAMSUNG as an option)
is enabled it blindly enables lots of symbols without recourse.

> > Verified this change doesn't effect the .config.
> >
> > Signed-off-by: Will McVicker <willmcvicker@xxxxxxxxxx>
> > ---
> > arch/arm64/Kconfig.platforms | 1 -
> > drivers/pinctrl/samsung/Kconfig | 1 +
> > 2 files changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> > index 6a006490c9b9..a884e5da8b0f 100644
> > --- a/arch/arm64/Kconfig.platforms
> > +++ b/arch/arm64/Kconfig.platforms
> > @@ -93,7 +93,6 @@ config ARCH_EXYNOS
> > bool "ARMv8 based Samsung Exynos SoC family"
> > select HAVE_S3C_RTC if RTC_CLASS
> > select PINCTRL
> > - select PINCTRL_EXYNOS
> > select PM_GENERIC_DOMAINS if PM
> > help
> > This enables support for ARMv8 based Samsung Exynos SoC family.
> > diff --git a/drivers/pinctrl/samsung/Kconfig b/drivers/pinctrl/samsung/Kconfig
> > index dfd805e76862..483acb8ac1f6 100644
> > --- a/drivers/pinctrl/samsung/Kconfig
> > +++ b/drivers/pinctrl/samsung/Kconfig
> > @@ -12,6 +12,7 @@ config PINCTRL_EXYNOS
> > bool "Pinctrl common driver part for Samsung Exynos SoCs"
> > depends on OF_GPIO
> > depends on ARCH_EXYNOS || ARCH_S5PV210 || COMPILE_TEST
> > + default y if ARCH_EXYNOS
>
> default ARCH_EXYNOS || ARCH_S5PV210
> ... and update all mach Kconfigs.
>
> > select PINCTRL_SAMSUNG
> > select PINCTRL_EXYNOS_ARM if ARM && (ARCH_EXYNOS || ARCH_S5PV210)
> > select PINCTRL_EXYNOS_ARM64 if ARM64 && ARCH_EXYNOS
> >
>
>
> Best regards,
> Krzysztof

--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog