Re: [PATCH 0/4] Samsung: Move Samsung SoCs GPIO drivers todrivers/gpio

From: Grant Likely
Date: Fri May 20 2011 - 02:31:34 EST


On Fri, May 20, 2011 at 02:44:41PM +0900, Kyungmin Park wrote:
> The following changes since commit 61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf:
>
> Linux 2.6.39 (2011-05-18 21:06:34 -0700)
>
> Kyungmin Park (4):
> Move to Samsung common GPIO library to drivers/gpio
> Move the exynos4 GPIO to drivers/gpio
> Move the s5pv210 GPIO to drivers/gpio
> Move the s5pc100 GPIO to drivers/gpio
>
> arch/arm/mach-exynos4/Makefile | 2 +-
> arch/arm/mach-s5pc100/Makefile | 2 +-
> arch/arm/mach-s5pv210/Makefile | 2 +-
> arch/arm/plat-samsung/Makefile | 1 -
> drivers/gpio/Kconfig | 24 ++++++++++++++++++++
> drivers/gpio/Makefile | 4 +++
> .../gpiolib.c => drivers/gpio/exynos4-gpio.c | 0
> .../gpiolib.c => drivers/gpio/s5pc100-gpio.c | 0
> .../gpiolib.c => drivers/gpio/s5pv210-gpio.c | 0
> .../gpiolib.c => drivers/gpio/samsung-gpiolib.c | 3 +-

drivers/gpio/gpio-*.c please. I'm starting to enforce some level of
naming convention.

> 10 files changed, 33 insertions(+), 5 deletions(-)
> rename arch/arm/mach-exynos4/gpiolib.c => drivers/gpio/exynos4-gpio.c (100%)
> rename arch/arm/mach-s5pc100/gpiolib.c => drivers/gpio/s5pc100-gpio.c (100%)
> rename arch/arm/mach-s5pv210/gpiolib.c => drivers/gpio/s5pv210-gpio.c (100%)
> rename arch/arm/plat-samsung/gpiolib.c => drivers/gpio/samsung-gpiolib.c (99%)
>
> diff --git a/arch/arm/mach-exynos4/Makefile b/arch/arm/mach-exynos4/Makefile
> index 9be104f..3bb3f57 100644
> --- a/arch/arm/mach-exynos4/Makefile
> +++ b/arch/arm/mach-exynos4/Makefile
> @@ -13,7 +13,7 @@ obj- :=
> # Core support for EXYNOS4 system
>
> obj-$(CONFIG_CPU_EXYNOS4210) += cpu.o init.o clock.o irq-combiner.o
> -obj-$(CONFIG_CPU_EXYNOS4210) += setup-i2c0.o gpiolib.o irq-eint.o dma.o
> +obj-$(CONFIG_CPU_EXYNOS4210) += setup-i2c0.o irq-eint.o dma.o
> obj-$(CONFIG_PM) += pm.o sleep.o
> obj-$(CONFIG_CPU_FREQ) += cpufreq.o
>
> diff --git a/arch/arm/mach-s5pc100/Makefile b/arch/arm/mach-s5pc100/Makefile
> index eecab57..a5e6e60 100644
> --- a/arch/arm/mach-s5pc100/Makefile
> +++ b/arch/arm/mach-s5pc100/Makefile
> @@ -11,7 +11,7 @@ obj- :=
>
> # Core support for S5PC100 system
>
> -obj-$(CONFIG_CPU_S5PC100) += cpu.o init.o clock.o gpiolib.o
> +obj-$(CONFIG_CPU_S5PC100) += cpu.o init.o clock.o
> obj-$(CONFIG_CPU_S5PC100) += setup-i2c0.o
> obj-$(CONFIG_CPU_S5PC100) += dma.o
>
> diff --git a/arch/arm/mach-s5pv210/Makefile b/arch/arm/mach-s5pv210/Makefile
> index 11f1790..50907ac 100644
> --- a/arch/arm/mach-s5pv210/Makefile
> +++ b/arch/arm/mach-s5pv210/Makefile
> @@ -12,7 +12,7 @@ obj- :=
>
> # Core support for S5PV210 system
>
> -obj-$(CONFIG_CPU_S5PV210) += cpu.o init.o clock.o dma.o gpiolib.o
> +obj-$(CONFIG_CPU_S5PV210) += cpu.o init.o clock.o dma.o
> obj-$(CONFIG_CPU_S5PV210) += setup-i2c0.o
> obj-$(CONFIG_S5PV210_PM) += pm.o sleep.o
> obj-$(CONFIG_CPU_FREQ) += cpufreq.o
> diff --git a/arch/arm/plat-samsung/Makefile b/arch/arm/plat-samsung/Makefile
> index e9de58a..53eb15b 100644
> --- a/arch/arm/plat-samsung/Makefile
> +++ b/arch/arm/plat-samsung/Makefile
> @@ -19,7 +19,6 @@ obj-y += gpio.o
> obj-y += gpio-config.o
> obj-y += dev-asocdma.o
>
> -obj-$(CONFIG_SAMSUNG_GPIOLIB_4BIT) += gpiolib.o
> obj-$(CONFIG_SAMSUNG_CLKSRC) += clock-clksrc.o
>
> obj-$(CONFIG_SAMSUNG_IRQ_UART) += irq-uart.o
> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
> index d3b2953..d838f5b 100644
> --- a/drivers/gpio/Kconfig
> +++ b/drivers/gpio/Kconfig
> @@ -75,6 +75,30 @@ config GPIO_BASIC_MMIO
> help
> Say yes here to support basic memory-mapped GPIO controllers.
>
> +config GPIO_EXYNOS4
> + bool "Samsung Exynos4 GPIO library support"
> + default y if CPU_EXYNOS4210
> + help
> + Say yes here to support Samsung Exynos4 series SoCs GPIO library
> +
> +config GPIO_SAMSUNG
> + bool "Samsung SoCs GPIO library support"
> + default y if SAMSUNG_GPIOLIB_4BIT
> + help
> + Say yes here to support Samsung SoCs GPIO library
> +
> +config GPIO_S5PC100
> + bool "Samsung S5PC100 GPIO library support"
> + default y if CPU_S5PC100
> + help
> + Say yes here to support Samsung S5PC100 SoC GPIO library
> +
> +config GPIO_S5PV210
> + bool "Samsung S5PV210/S5PC110 GPIO library support"
> + default y if CPU_S5PV210
> + help
> + Say yes here to support Samsung S5PV210/S5PC110 SoC GPIO library
> +

Is there any scenario where these drivers should be user selected? My
feel is that the right thing to do with gpio controllers is to just
build them in when the platform is selected. We can always add
Kconfig entries later if this assumption changes.

> config GPIO_IT8761E
> tristate "IT8761E GPIO support"
> depends on GPIOLIB
> diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
> index becef59..738386f 100644
> --- a/drivers/gpio/Makefile
> +++ b/drivers/gpio/Makefile
> @@ -11,6 +11,10 @@ obj-$(CONFIG_GPIOLIB) += gpiolib.o
> obj-$(CONFIG_GPIO_ADP5520) += adp5520-gpio.o
> obj-$(CONFIG_GPIO_ADP5588) += adp5588-gpio.o
> obj-$(CONFIG_GPIO_BASIC_MMIO) += basic_mmio_gpio.o
> +obj-$(CONFIG_GPIO_EXYNOS4) += exynos4-gpio.o
> +obj-$(CONFIG_GPIO_SAMSUNG) += samsung-gpiolib.o
> +obj-$(CONFIG_GPIO_S5PC100) += s5pc100-gpio.o
> +obj-$(CONFIG_GPIO_S5PV210) += s5pv210-gpio.o
> obj-$(CONFIG_GPIO_LANGWELL) += langwell_gpio.o
> obj-$(CONFIG_GPIO_MAX730X) += max730x.o
> obj-$(CONFIG_GPIO_MAX7300) += max7300.o
> diff --git a/arch/arm/mach-exynos4/gpiolib.c b/drivers/gpio/exynos4-gpio.c
> similarity index 100%
> rename from arch/arm/mach-exynos4/gpiolib.c
> rename to drivers/gpio/exynos4-gpio.c
> diff --git a/arch/arm/mach-s5pc100/gpiolib.c b/drivers/gpio/s5pc100-gpio.c
> similarity index 100%
> rename from arch/arm/mach-s5pc100/gpiolib.c
> rename to drivers/gpio/s5pc100-gpio.c
> diff --git a/arch/arm/mach-s5pv210/gpiolib.c b/drivers/gpio/s5pv210-gpio.c
> similarity index 100%
> rename from arch/arm/mach-s5pv210/gpiolib.c
> rename to drivers/gpio/s5pv210-gpio.c
> diff --git a/arch/arm/plat-samsung/gpiolib.c b/drivers/gpio/samsung-gpiolib.c
> similarity index 99%
> rename from arch/arm/plat-samsung/gpiolib.c
> rename to drivers/gpio/samsung-gpiolib.c
> index ea37c04..925b66e 100644
> --- a/arch/arm/plat-samsung/gpiolib.c
> +++ b/drivers/gpio/samsung-gpiolib.c
> @@ -1,4 +1,5 @@
> -/* arch/arm/plat-samsung/gpiolib.c
> +/*
> + * drivers/gpio/samsung-gpiolib.c

My preference is to just drop the filename from the header entirely.
A better thing here would be a single line description of what this
file actually does.

g.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/