@@ -363,22 +363,6 @@ config PINCTRL_COH901
COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
ports of 8 GPIO pins each.
-config PINCTRL_SAMSUNG
- bool
- select PINMUX
- select PINCONF
-
-config PINCTRL_EXYNOS
- bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
- depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
- select PINCTRL_SAMSUNG
-
-config PINCTRL_EXYNOS5440
- bool "Samsung EXYNOS5440 SoC pinctrl driver"
- depends on SOC_EXYNOS5440
- select PINMUX
- select PINCONF
-
config PINCTRL_PALMAS
bool "Pinctrl driver for the PALMAS Series MFD devices"
depends on OF && MFD_PALMAS
@@ -390,18 +374,9 @@ config PINCTRL_PALMAS
open drain configuration for the Palmas series devices like
TPS65913, TPS80036 etc.
-config PINCTRL_S3C24XX
- bool "Samsung S3C24XX SoC pinctrl driver"
- depends on ARCH_S3C24XX
- select PINCTRL_SAMSUNG
-
-config PINCTRL_S3C64XX
- bool "Samsung S3C64XX SoC pinctrl driver"
- depends on ARCH_S3C64XX
- select PINCTRL_SAMSUNG
-
source "drivers/pinctrl/berlin/Kconfig"
source "drivers/pinctrl/mvebu/Kconfig"
+source "drivers/pinctrl/samsung/Kconfig"
source "drivers/pinctrl/sh-pfc/Kconfig"
source "drivers/pinctrl/spear/Kconfig"
source "drivers/pinctrl/sunxi/Kconfig"
@@ -60,11 +60,6 @@ obj-$(CONFIG_PINCTRL_TZ1090) += pinctrl-tz1090.o
obj-$(CONFIG_PINCTRL_TZ1090_PDC) += pinctrl-tz1090-pdc.o
obj-$(CONFIG_PINCTRL_U300) += pinctrl-u300.o
obj-$(CONFIG_PINCTRL_COH901) += pinctrl-coh901.o
-obj-$(CONFIG_PINCTRL_SAMSUNG) += pinctrl-samsung.o
-obj-$(CONFIG_PINCTRL_EXYNOS) += pinctrl-exynos.o
-obj-$(CONFIG_PINCTRL_EXYNOS5440) += pinctrl-exynos5440.o
-obj-$(CONFIG_PINCTRL_S3C24XX) += pinctrl-s3c24xx.o
-obj-$(CONFIG_PINCTRL_S3C64XX) += pinctrl-s3c64xx.o
obj-$(CONFIG_PINCTRL_XWAY) += pinctrl-xway.o
obj-$(CONFIG_PINCTRL_LANTIQ) += pinctrl-lantiq.o
obj-$(CONFIG_PINCTRL_TB10X) += pinctrl-tb10x.o
@@ -78,3 +73,4 @@ obj-$(CONFIG_SUPERH) += sh-pfc/
obj-$(CONFIG_PLAT_SPEAR) += spear/
obj-$(CONFIG_ARCH_VT8500) += vt8500/
obj-$(CONFIG_ARCH_SUNXI) += sunxi/
+obj-$(CONFIG_PLAT_SAMSUNG) += samsung/
new file mode 100644
@@ -0,0 +1,28 @@
+#
+# Samsung Pin control drivers
+#
+config PINCTRL_SAMSUNG
+ bool
+ select PINMUX
+ select PINCONF
+
+config PINCTRL_EXYNOS
+ bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
+ depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
+ select PINCTRL_SAMSUNG
+
+config PINCTRL_EXYNOS5440
+ bool "Samsung EXYNOS5440 SoC pinctrl driver"
+ depends on SOC_EXYNOS5440
+ select PINMUX
+ select PINCONF
+
+config PINCTRL_S3C24XX
+ bool "Samsung S3C24XX SoC pinctrl driver"
+ depends on ARCH_S3C24XX
+ select PINCTRL_SAMSUNG
+
+config PINCTRL_S3C64XX
+ bool "Samsung S3C64XX SoC pinctrl driver"
+ depends on ARCH_S3C64XX
+ select PINCTRL_SAMSUNG
new file mode 100644
@@ -0,0 +1,7 @@
+# Samsung pin control drivers
+
+obj-$(CONFIG_PINCTRL_SAMSUNG) += pinctrl-samsung.o
+obj-$(CONFIG_PINCTRL_EXYNOS) += pinctrl-exynos.o
+obj-$(CONFIG_PINCTRL_EXYNOS5440) += pinctrl-exynos5440.o
+obj-$(CONFIG_PINCTRL_S3C24XX) += pinctrl-s3c24xx.o
+obj-$(CONFIG_PINCTRL_S3C64XX) += pinctrl-s3c64xx.o
similarity index 100%
rename from drivers/pinctrl/pinctrl-exynos.c
rename to drivers/pinctrl/samsung/pinctrl-exynos.c
similarity index 100%
rename from drivers/pinctrl/pinctrl-exynos.h
rename to drivers/pinctrl/samsung/pinctrl-exynos.h
similarity index 99%
rename from drivers/pinctrl/pinctrl-exynos5440.c
rename to drivers/pinctrl/samsung/pinctrl-exynos5440.c
@@ -23,7 +23,7 @@
#include <linux/interrupt.h>
#include <linux/irqdomain.h>
#include <linux/of_irq.h>
-#include "core.h"
+#include "../core.h"
/* EXYNOS5440 GPIO and Pinctrl register offsets */
#define GPIO_MUX 0x00
similarity index 100%
rename from drivers/pinctrl/pinctrl-s3c24xx.c
rename to drivers/pinctrl/samsung/pinctrl-s3c24xx.c
similarity index 100%
rename from drivers/pinctrl/pinctrl-s3c64xx.c
rename to drivers/pinctrl/samsung/pinctrl-s3c64xx.c
similarity index 99%
rename from drivers/pinctrl/pinctrl-samsung.c
rename to drivers/pinctrl/samsung/pinctrl-samsung.c
@@ -30,7 +30,7 @@
#include <linux/spinlock.h>
#include <linux/syscore_ops.h>
-#include "core.h"
+#include "../core.h"
#include "pinctrl-samsung.h"
#define GROUP_SUFFIX "-grp"
Group all pin control drivers of Samsung platform together in a sub-directory for easy maintenance. Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com> --- This patch has been inspired by a similar patch [1] from Linus Walleij for Qualcomm drivers. I have boot tested this patch on Exynos boards and compile tested for other Samsung platforms. [1] http://www.spinics.net/lists/arm-kernel/msg345924.html --- drivers/pinctrl/Kconfig | 27 +------------------ drivers/pinctrl/Makefile | 6 +---- drivers/pinctrl/samsung/Kconfig | 28 ++++++++++++++++++++ drivers/pinctrl/samsung/Makefile | 7 +++++ drivers/pinctrl/{ => samsung}/pinctrl-exynos.c | 0 drivers/pinctrl/{ => samsung}/pinctrl-exynos.h | 0 drivers/pinctrl/{ => samsung}/pinctrl-exynos5440.c | 2 +- drivers/pinctrl/{ => samsung}/pinctrl-s3c24xx.c | 0 drivers/pinctrl/{ => samsung}/pinctrl-s3c64xx.c | 0 drivers/pinctrl/{ => samsung}/pinctrl-samsung.c | 2 +- drivers/pinctrl/{ => samsung}/pinctrl-samsung.h | 0 11 files changed, 39 insertions(+), 33 deletions(-) create mode 100644 drivers/pinctrl/samsung/Kconfig create mode 100644 drivers/pinctrl/samsung/Makefile rename drivers/pinctrl/{ => samsung}/pinctrl-exynos.c (100%) rename drivers/pinctrl/{ => samsung}/pinctrl-exynos.h (100%) rename drivers/pinctrl/{ => samsung}/pinctrl-exynos5440.c (99%) rename drivers/pinctrl/{ => samsung}/pinctrl-s3c24xx.c (100%) rename drivers/pinctrl/{ => samsung}/pinctrl-s3c64xx.c (100%) rename drivers/pinctrl/{ => samsung}/pinctrl-samsung.c (99%) rename drivers/pinctrl/{ => samsung}/pinctrl-samsung.h (100%) diff --git a/drivers/pinctrl/pinctrl-samsung.h b/drivers/pinctrl/samsung/pinctrl-samsung.h similarity index 100% rename from drivers/pinctrl/pinctrl-samsung.h rename to drivers/pinctrl/samsung/pinctrl-samsung.h