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

Lee Jones lee.jones at linaro.org
Tue Sep 21 01:18:25 PDT 2021


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 at google.com>
> > ---
> >  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



More information about the linux-arm-kernel mailing list