From 73ae2cb424950f917829a8b78359ae1e4b175f3c Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Mon, 9 Dec 2019 17:39:36 +0100 Subject: [PATCH 1/3] pinctrl: samsung: Enable compile test for build coverage The Samsung pinctrl drivers require only GPIOLIB and OF for building. The drivers should be buildable on all architectures so enable COMPILE_TEST. Signed-off-by: Krzysztof Kozlowski --- drivers/pinctrl/samsung/Kconfig | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/pinctrl/samsung/Kconfig b/drivers/pinctrl/samsung/Kconfig index 425fadd6c346..cbf1ce48fddb 100644 --- a/drivers/pinctrl/samsung/Kconfig +++ b/drivers/pinctrl/samsung/Kconfig @@ -9,7 +9,8 @@ config PINCTRL_SAMSUNG config PINCTRL_EXYNOS bool "Pinctrl driver data for Samsung EXYNOS SoCs" - depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210) + depends on OF && GPIOLIB + depends on ARCH_EXYNOS || ARCH_S5PV210 || COMPILE_TEST select PINCTRL_SAMSUNG select PINCTRL_EXYNOS_ARM if ARM && (ARCH_EXYNOS || ARCH_S5PV210) select PINCTRL_EXYNOS_ARM64 if ARM64 && ARCH_EXYNOS @@ -24,10 +25,11 @@ config PINCTRL_EXYNOS_ARM64 config PINCTRL_S3C24XX bool "Samsung S3C24XX SoC pinctrl driver" - depends on ARCH_S3C24XX && OF + depends on OF + depends on ARCH_S3C24XX || COMPILE_TEST select PINCTRL_SAMSUNG config PINCTRL_S3C64XX bool "Samsung S3C64XX SoC pinctrl driver" - depends on ARCH_S3C64XX + depends on ARCH_S3C64XX || COMPILE_TEST select PINCTRL_SAMSUNG From 56d9625e8cc6d2fb6f59a3829d1c258944535609 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Mon, 9 Dec 2019 17:39:37 +0100 Subject: [PATCH 2/3] pinctrl: samsung: Clarify the option titles/names The config options toggle Samsung Exynos SoCs pinctrl drivers, not the driver data. Clarify this in the option title/name and also make it consistent with other Samsung entries. No functional change. Signed-off-by: Krzysztof Kozlowski --- drivers/pinctrl/samsung/Kconfig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/pinctrl/samsung/Kconfig b/drivers/pinctrl/samsung/Kconfig index cbf1ce48fddb..779c0e9eca3f 100644 --- a/drivers/pinctrl/samsung/Kconfig +++ b/drivers/pinctrl/samsung/Kconfig @@ -8,7 +8,7 @@ config PINCTRL_SAMSUNG select PINCONF config PINCTRL_EXYNOS - bool "Pinctrl driver data for Samsung EXYNOS SoCs" + bool "Pinctrl common driver part for Samsung Exynos SoCs" depends on OF && GPIOLIB depends on ARCH_EXYNOS || ARCH_S5PV210 || COMPILE_TEST select PINCTRL_SAMSUNG @@ -16,11 +16,11 @@ config PINCTRL_EXYNOS select PINCTRL_EXYNOS_ARM64 if ARM64 && ARCH_EXYNOS config PINCTRL_EXYNOS_ARM - bool "ARMv7-specific pinctrl driver data for Exynos" if COMPILE_TEST + bool "ARMv7-specific pinctrl driver for Samsung Exynos SoCs" if COMPILE_TEST depends on PINCTRL_EXYNOS config PINCTRL_EXYNOS_ARM64 - bool "ARMv8-specific pinctrl driver data for Exynos" if COMPILE_TEST + bool "ARMv8-specific pinctrl driver for Samsung Exynos SoCs" if COMPILE_TEST depends on PINCTRL_EXYNOS config PINCTRL_S3C24XX From 225a2ec19aac426ef29f0e4accfc890c87d38bdc Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Fri, 13 Dec 2019 08:24:33 +0100 Subject: [PATCH 3/3] pinctrl: samsung: Fix missing OF and GPIOLIB dependency on S3C24xx and S3C64xx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All Samsung pinctrl drivers select common part - PINCTRL_SAMSUNG which uses both OF and GPIOLIB inside. However only Exynos drivers depend on these, therefore after enabling COMPILE_TEST, on x86_64 build of S3C64xx driver failed: drivers/pinctrl/samsung/pinctrl-samsung.c: In function ‘samsung_gpiolib_register’: drivers/pinctrl/samsung/pinctrl-samsung.c:969:5: error: ‘struct gpio_chip’ has no member named ‘of_node’ gc->of_node = bank->of_node; ^ Rework the dependencies so all Samsung drivers and common PINCTRL_SAMSUNG part depend on OF_GPIO (which is default yes if GPIOLIB and OF are enabled). Reported-by: Chen Zhou Signed-off-by: Krzysztof Kozlowski --- drivers/pinctrl/samsung/Kconfig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/samsung/Kconfig b/drivers/pinctrl/samsung/Kconfig index 779c0e9eca3f..dfd805e76862 100644 --- a/drivers/pinctrl/samsung/Kconfig +++ b/drivers/pinctrl/samsung/Kconfig @@ -4,12 +4,13 @@ # config PINCTRL_SAMSUNG bool + depends on OF_GPIO select PINMUX select PINCONF config PINCTRL_EXYNOS bool "Pinctrl common driver part for Samsung Exynos SoCs" - depends on OF && GPIOLIB + 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) @@ -25,11 +26,12 @@ config PINCTRL_EXYNOS_ARM64 config PINCTRL_S3C24XX bool "Samsung S3C24XX SoC pinctrl driver" - depends on OF + depends on OF_GPIO depends on ARCH_S3C24XX || COMPILE_TEST select PINCTRL_SAMSUNG config PINCTRL_S3C64XX bool "Samsung S3C64XX SoC pinctrl driver" + depends on OF_GPIO depends on ARCH_S3C64XX || COMPILE_TEST select PINCTRL_SAMSUNG