@@ -22,7 +22,6 @@ menuconfig ARCH_EXYNOS
select HAVE_S3C2410_I2C if I2C
select HAVE_S3C_RTC if RTC_CLASS
select PINCTRL
- select PINCTRL_EXYNOS
select PM_GENERIC_DOMAINS if PM
select S5P_DEV_MFC
select SAMSUNG_MC
@@ -14,7 +14,6 @@ config ARCH_S5PV210
select HAVE_S3C2410_I2C if I2C
select HAVE_S3C_RTC if RTC_CLASS
select PINCTRL
- select PINCTRL_EXYNOS
select SOC_SAMSUNG
help
Samsung S5PV210/S5PC110 series based systems
@@ -95,7 +95,6 @@ config ARCH_EXYNOS
select EXYNOS_PMU
select HAVE_S3C_RTC if RTC_CLASS
select PINCTRL
- select PINCTRL_EXYNOS
select PM_GENERIC_DOMAINS if PM
select SOC_SAMSUNG
help
@@ -3,15 +3,16 @@
# Samsung Pin control drivers
#
config PINCTRL_SAMSUNG
- bool
+ tristate "Pinctrl common driver for Exynos, S3C24XX, and S3C64XX SoCs" if COMPILE_TEST
depends on OF_GPIO
select PINMUX
select PINCONF
config PINCTRL_EXYNOS
- bool "Pinctrl common driver part for Samsung Exynos SoCs"
+ tristate "Pinctrl common driver part for Samsung Exynos ARM and ARM64 SoCs"
depends on OF_GPIO
depends on ARCH_EXYNOS || ARCH_S5PV210 || COMPILE_TEST
+ default y if (ARCH_EXYNOS || ARCH_S5PV210)
select PINCTRL_SAMSUNG
select PINCTRL_EXYNOS_ARM if ARM && (ARCH_EXYNOS || ARCH_S5PV210)
select PINCTRL_EXYNOS_ARM64 if ARM64 && ARCH_EXYNOS
Make PINCTRL_EXYNOS and PINCTRL_SAMSUNG tristate so that we can compile them as modules. Also don't have ARCH_EXYNOS directly select them, but use "default y if ARCH_EXYNOS || ARCH_S5PV210" instead. Signed-off-by: Will McVicker <willmcvicker@google.com> --- arch/arm/mach-exynos/Kconfig | 1 - arch/arm/mach-s5pv210/Kconfig | 1 - arch/arm64/Kconfig.platforms | 1 - drivers/pinctrl/samsung/Kconfig | 5 +++-- 4 files changed, 3 insertions(+), 5 deletions(-)