[U-Boot] [PATCH 2/8] Nomadik: move gpio driver to drivers/gpio

Tom
2010-03-28T17:32:17Z

Rabin Vincent wrote:
> The Nomadik GPIO driver will also be used on the U8500 SoC, so move it
> out of platform-specific code.
>
> Acked-by: Alessandro Rubini <rubini@unipv.it>
> Acked-by: Michael Brandt <michael.brandt@stericsson.com>
> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
> ---
> board/st/nhk8815/nhk8815.c | 2 +-
> cpu/arm926ejs/nomadik/Makefile | 1 -
> drivers/gpio/Makefile | 1 +
> .../nomadik/gpio.c => drivers/gpio/nomadik_gpio.c | 2 +-
> include/configs/nhk8815.h | 7 +++++--
> .../arch-nomadik/gpio.h => nomadik_gpio.h} | 0
> 6 files changed, 8 insertions(+), 5 deletions(-)
> rename cpu/arm926ejs/nomadik/gpio.c => drivers/gpio/nomadik_gpio.c (98%)
> rename include/{asm-arm/arch-nomadik/gpio.h => nomadik_gpio.h} (100%)
>
> diff --git a/board/st/nhk8815/nhk8815.c b/board/st/nhk8815/nhk8815.c
> index faef810..4f5f94f 100644
> --- a/board/st/nhk8815/nhk8815.c
> +++ b/board/st/nhk8815/nhk8815.c
> @@ -28,7 +28,7 @@
> #include <common.h>
> #include <netdev.h>
> #include <asm/io.h>
> -#include <asm/arch/gpio.h>
> +#include <nomadik_gpio.h>
>
> DECLARE_GLOBAL_DATA_PTR;
>
> diff --git a/cpu/arm926ejs/nomadik/Makefile b/cpu/arm926ejs/nomadik/Makefile
> index 180db8b..35550d7 100644
> --- a/cpu/arm926ejs/nomadik/Makefile
> +++ b/cpu/arm926ejs/nomadik/Makefile
> @@ -25,7 +25,6 @@ include $(TOPDIR)/config.mk
>
> LIB = $(obj)lib$(SOC).a
>
> -COBJS = gpio.o
> SOBJS = reset.o
>
> SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
> index d966082..d84f81e 100644
> --- a/drivers/gpio/Makefile
> +++ b/drivers/gpio/Makefile
> @@ -28,6 +28,7 @@ LIB := $(obj)libgpio.a
> COBJS-$(CONFIG_AT91_GPIO) += at91_gpio.o
> COBJS-$(CONFIG_KIRKWOOD_GPIO) += kw_gpio.o
> COBJS-$(CONFIG_MX31_GPIO) += mx31_gpio.o
> +COBJS-$(CONFIG_NOMADIK_GPIO) += nomadik_gpio.o
> COBJS-$(CONFIG_PCA953X) += pca953x.o
>
> COBJS := $(COBJS-y)
> diff --git a/cpu/arm926ejs/nomadik/gpio.c b/drivers/gpio/nomadik_gpio.c
> similarity index 98%
> rename from cpu/arm926ejs/nomadik/gpio.c
> rename to drivers/gpio/nomadik_gpio.c
> index 62a375b..e8a7bca 100644
> --- a/cpu/arm926ejs/nomadik/gpio.c
> +++ b/drivers/gpio/nomadik_gpio.c
> @@ -22,7 +22,7 @@
>
> #include <common.h>
> #include <asm/io.h>
> -#include <asm/arch/gpio.h>
> +#include <nomadik_gpio.h>
>
> static unsigned long gpio_base[4] = {
> NOMADIK_GPIO0_BASE,
> diff --git a/include/configs/nhk8815.h b/include/configs/nhk8815.h
> index 4dd391e..8ba1e5e 100644
> --- a/include/configs/nhk8815.h
> +++ b/include/configs/nhk8815.h
> @@ -99,6 +99,9 @@
> #define CONFIG_SYS_TIMERBASE 0x101E2000
> #define CONFIG_NOMADIK_MTU
>
> +/* GPIO */
> +#define CONFIG_NOMADIK_GPIO
> +
> /* serial port (PL011) configuration */
> #define CONFIG_PL011_SERIAL
> #define CONFIG_CONS_INDEX 1
> @@ -110,9 +113,9 @@
> #define CONFIG_PL01x_PORTS { (void *)CFG_SERIAL0, (void *)CFG_SERIAL1 }
> #define CONFIG_PL011_CLOCK 48000000
>
> -/* i2c, for the port extenders (uses gpio.c in board directory) */
> +/* i2c, for the port extenders (uses drivers/gpio/nomadik_gpio.c) */

May want to just strip the path '(uses ....)' from the comment
> #ifndef __ASSEMBLY__
> -#include <asm/arch/gpio.h>
> +#include <nomadik_gpio.h>

It would be better if the #include was not in config file.
Can this be moved to the C files that need it ?

> #define CONFIG_CMD_I2C
> #define CONFIG_SOFT_I2C
> #define CONFIG_SYS_I2C_SPEED 400000
> diff --git a/include/asm-arm/arch-nomadik/gpio.h b/include/nomadik_gpio.h
> similarity index 100%
> rename from include/asm-arm/arch-nomadik/gpio.h
> rename to include/nomadik_gpio.h

Tom