Patchwork [U-Boot,06/10] dm: Move OMAP GPIO driver to drivers/gpio/

login
register
mail settings
Submitter Marek Vasut
Date July 21, 2012, 3:02 p.m.
Message ID <1342882947-9174-6-git-send-email-marex@denx.de>
Download mbox | patch
Permalink /patch/172436/
State Accepted
Delegated to: Tom Rini
Headers show

Comments

Marek Vasut - July 21, 2012, 3:02 p.m.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: U-Boot DM <u-boot-dm@lists.denx.de>
Cc: Tom Rini <trini@ti.com>
---
 arch/arm/cpu/armv7/omap-common/Makefile                           |    3 ---
 drivers/gpio/Makefile                                             |    1 +
 arch/arm/cpu/armv7/omap-common/gpio.c => drivers/gpio/omap_gpio.c |    0
 include/configs/cm_t35.h                                          |    1 +
 include/configs/devkit8000.h                                      |    2 ++
 include/configs/dig297.h                                          |    1 +
 include/configs/igep00x0.h                                        |    1 +
 include/configs/mcx.h                                             |    1 +
 include/configs/omap3_beagle.h                                    |    1 +
 include/configs/omap3_evm_common.h                                |    1 +
 include/configs/omap3_logic.h                                     |    1 +
 include/configs/omap3_mvblx.h                                     |    1 +
 include/configs/omap3_overo.h                                     |    1 +
 include/configs/omap3_pandora.h                                   |    1 +
 include/configs/omap3_zoom2.h                                     |    1 +
 include/configs/omap4_common.h                                    |    1 +
 include/configs/omap5_evm.h                                       |    1 +
 include/configs/tam3517-common.h                                  |    1 +
 18 files changed, 17 insertions(+), 3 deletions(-)
 rename arch/arm/cpu/armv7/omap-common/gpio.c => drivers/gpio/omap_gpio.c (100%)
Tom Rini - July 23, 2012, 8:31 p.m.
On Sat, Jul 21, 2012 at 05:02:23PM +0200, Marek Vasut wrote:

> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Wolfgang Denk <wd@denx.de>
> Cc: Albert Aribaud <albert.u.boot@aribaud.net>
> Cc: U-Boot DM <u-boot-dm@lists.denx.de>
> Cc: Tom Rini <trini@ti.com>

Acked-by: Tom Rini <trini@ti.com>
Albert ARIBAUD - Aug. 31, 2012, 4:27 p.m.
Hi Marek,

On Sat, 21 Jul 2012 17:02:23 +0200, Marek Vasut <marex@denx.de> wrote:

> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Wolfgang Denk <wd@denx.de>
> Cc: Albert Aribaud <albert.u.boot@aribaud.net>
> Cc: U-Boot DM <u-boot-dm@lists.denx.de>
> Cc: Tom Rini <trini@ti.com>
> ---
>  arch/arm/cpu/armv7/omap-common/Makefile
> |    3 ---
> drivers/gpio/Makefile
> |    1 + arch/arm/cpu/armv7/omap-common/gpio.c =>
> drivers/gpio/omap_gpio.c |    0
> include/configs/cm_t35.h
> |    1 +
> include/configs/devkit8000.h
> |    2 ++
> include/configs/dig297.h
> |    1 +
> include/configs/igep00x0.h
> |    1 +
> include/configs/mcx.h
> |    1 +
> include/configs/omap3_beagle.h
> |    1 +
> include/configs/omap3_evm_common.h
> |    1 +
> include/configs/omap3_logic.h
> |    1 +
> include/configs/omap3_mvblx.h
> |    1 +
> include/configs/omap3_overo.h
> |    1 +
> include/configs/omap3_pandora.h
> |    1 +
> include/configs/omap3_zoom2.h
> |    1 +
> include/configs/omap4_common.h
> |    1 +
> include/configs/omap5_evm.h
> |    1 +
> include/configs/tam3517-common.h
> |    1 + 18 files changed, 17 insertions(+), 3 deletions(-) rename
> arch/arm/cpu/armv7/omap-common/gpio.c => drivers/gpio/omap_gpio.c
> (100%)
> 
> diff --git a/arch/arm/cpu/armv7/omap-common/Makefile
> b/arch/arm/cpu/armv7/omap-common/Makefile index 2a6625f..d37b22d
> 100644 --- a/arch/arm/cpu/armv7/omap-common/Makefile
> +++ b/arch/arm/cpu/armv7/omap-common/Makefile
> @@ -29,9 +29,6 @@ SOBJS	:= reset.o
>  
>  COBJS	:= timer.o
>  COBJS	+= utils.o
> -ifdef CONFIG_OMAP
> -COBJS	+= gpio.o
> -endif
>  
>  ifneq ($(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),)
>  COBJS	+= hwinit-common.o
> diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
> index 32a2474..8958bb4 100644
> --- a/drivers/gpio/Makefile
> +++ b/drivers/gpio/Makefile
> @@ -40,6 +40,7 @@ COBJS-$(CONFIG_TEGRA_GPIO)	+= tegra_gpio.o
>  COBJS-$(CONFIG_DA8XX_GPIO)	+= da8xx_gpio.o
>  COBJS-$(CONFIG_ALTERA_PIO)	+= altera_pio.o
>  COBJS-$(CONFIG_MPC83XX_GPIO)	+= mpc83xx_gpio.o
> +COBJS-$(CONFIG_OMAP_GPIO)	+= omap_gpio.o
>  
>  COBJS	:= $(COBJS-y)
>  SRCS 	:= $(COBJS:.o=.c)
> diff --git a/arch/arm/cpu/armv7/omap-common/gpio.c
> b/drivers/gpio/omap_gpio.c similarity index 100%
> rename from arch/arm/cpu/armv7/omap-common/gpio.c
> rename to drivers/gpio/omap_gpio.c
> diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
> index ee4bce5..6eeb2d3 100644
> --- a/include/configs/cm_t35.h
> +++ b/include/configs/cm_t35.h
> @@ -37,6 +37,7 @@
>   */
>  #define CONFIG_OMAP	/* in a TI OMAP core */
>  #define CONFIG_OMAP34XX	/* which is a 34XX */
> +#define CONFIG_OMAP_GPIO
>  #define CONFIG_CM_T3X	/* working with CM-T35 and CM-T3730 */
>  
>  #define CONFIG_SYS_TEXT_BASE	0x80008000
> diff --git a/include/configs/devkit8000.h
> b/include/configs/devkit8000.h index 037a5bb..e529099 100644
> --- a/include/configs/devkit8000.h
> +++ b/include/configs/devkit8000.h
> @@ -36,6 +36,8 @@
>  #define CONFIG_OMAP34XX		1	/* which is a 34XX */
>  #define CONFIG_OMAP3_DEVKIT8000	1	/* working with
> DevKit8000 */ #define CONFIG_MACH_TYPE	MACH_TYPE_DEVKIT8000
> +#define CONFIG_OMAP_GPIO
> +
>  /*
>   * 1MB into the SDRAM to allow for SPL's bss at the beginning of
> SDRAM
>   * 64 bytes before this address should be set aside for u-boot.img's
> diff --git a/include/configs/dig297.h b/include/configs/dig297.h
> index 4845d51..f123675 100644
> --- a/include/configs/dig297.h
> +++ b/include/configs/dig297.h
> @@ -45,6 +45,7 @@
>   */
>  #define CONFIG_OMAP		/* in a TI OMAP core */
>  #define CONFIG_OMAP34XX		/* which is a 34XX */
> +#define CONFIG_OMAP_GPIO
>  
>  #define CONFIG_SYS_TEXT_BASE	0x80008000
>  
> diff --git a/include/configs/igep00x0.h b/include/configs/igep00x0.h
> index 88e2e3a..727b800 100644
> --- a/include/configs/igep00x0.h
> +++ b/include/configs/igep00x0.h
> @@ -30,6 +30,7 @@
>   */
>  #define CONFIG_OMAP		1	/* in a TI OMAP core */
>  #define CONFIG_OMAP34XX		1	/* which is a 34XX */
> +#define CONFIG_OMAP_GPIO
>  
>  #define CONFIG_SDRC	/* The chip has SDRC controller */
>  
> diff --git a/include/configs/mcx.h b/include/configs/mcx.h
> index 970c882..0b75460 100644
> --- a/include/configs/mcx.h
> +++ b/include/configs/mcx.h
> @@ -27,6 +27,7 @@
>  #define CONFIG_OMAP			/* in a TI OMAP core */
>  #define CONFIG_OMAP34XX			/* which is a 34XX */
>  #define CONFIG_OMAP3_MCX		/* working with mcx */
> +#define CONFIG_OMAP_GPIO
>  
>  #define MACH_TYPE_MCX			3656
>  #define CONFIG_MACH_TYPE	MACH_TYPE_MCX
> diff --git a/include/configs/omap3_beagle.h
> b/include/configs/omap3_beagle.h index 657780e..382b791 100644
> --- a/include/configs/omap3_beagle.h
> +++ b/include/configs/omap3_beagle.h
> @@ -34,6 +34,7 @@
>  #define CONFIG_OMAP		1	/* in a TI OMAP core */
>  #define CONFIG_OMAP34XX		1	/* which is a 34XX */
>  #define CONFIG_OMAP3_BEAGLE	1	/* working with BEAGLE */
> +#define CONFIG_OMAP_GPIO
>  
>  #define CONFIG_SDRC	/* The chip has SDRC controller */
>  
> diff --git a/include/configs/omap3_evm_common.h
> b/include/configs/omap3_evm_common.h index 20192a9..b12ce2e 100644
> --- a/include/configs/omap3_evm_common.h
> +++ b/include/configs/omap3_evm_common.h
> @@ -22,6 +22,7 @@
>   */
>  #define CONFIG_OMAP			/* This is TI OMAP core */
>  #define CONFIG_OMAP34XX			/* belonging to 34XX
> family */ +#define CONFIG_OMAP_GPIO
>  
>  #define CONFIG_SDRC			/* The chip has SDRC
> controller */ 
> diff --git a/include/configs/omap3_logic.h
> b/include/configs/omap3_logic.h index 2e1e6b9..6d4faed 100644
> --- a/include/configs/omap3_logic.h
> +++ b/include/configs/omap3_logic.h
> @@ -33,6 +33,7 @@
>  #define CONFIG_OMAP			/* in a TI OMAP core */
>  #define CONFIG_OMAP34XX			/* which is a 34XX */
>  #define CONFIG_OMAP3_LOGIC		/* working with Logic OMAP
> boards */ +#define CONFIG_OMAP_GPIO
>  
>  #undef CONFIG_USE_IRQ			/* no support for IRQs
> */ 
> diff --git a/include/configs/omap3_mvblx.h
> b/include/configs/omap3_mvblx.h index 6a13046..30ca312 100644
> --- a/include/configs/omap3_mvblx.h
> +++ b/include/configs/omap3_mvblx.h
> @@ -39,6 +39,7 @@
>  #define CONFIG_OMAP34XX		1	/* which is a 34XX */
>  #define CONFIG_MVBLX		1	/* working with
> mvBlueLYNX-X */ #define CONFIG_MACH_TYPE	MACH_TYPE_MVBLX
> +#define CONFIG_OMAP_GPIO
>  
>  #define CONFIG_SDRC	/* The chip has SDRC controller */
>  
> diff --git a/include/configs/omap3_overo.h
> b/include/configs/omap3_overo.h index d29b326..f6afb7a 100644
> --- a/include/configs/omap3_overo.h
> +++ b/include/configs/omap3_overo.h
> @@ -25,6 +25,7 @@
>  #define CONFIG_OMAP				/* in a TI OMAP
> core */ #define CONFIG_OMAP34XX				/*
> which is a 34XX */ #define
> CONFIG_OMAP3_OVERO			/* working with overo */
> +#define CONFIG_OMAP_GPIO 
>  #define CONFIG_SDRC				/* The chip has
> SDRC controller */ 
> diff --git a/include/configs/omap3_pandora.h
> b/include/configs/omap3_pandora.h index 604b53d..28f8a3e 100644
> --- a/include/configs/omap3_pandora.h
> +++ b/include/configs/omap3_pandora.h
> @@ -29,6 +29,7 @@
>  #define CONFIG_OMAP		1	/* in a TI OMAP core */
>  #define CONFIG_OMAP34XX		1	/* which is a 34XX */
>  #define CONFIG_OMAP3_PANDORA	1	/* working with pandora
> */ +#define CONFIG_OMAP_GPIO
>  
>  #define CONFIG_SDRC	/* The chip has SDRC controller */
>  
> diff --git a/include/configs/omap3_zoom2.h
> b/include/configs/omap3_zoom2.h index b60ece3..98b93f8 100644
> --- a/include/configs/omap3_zoom2.h
> +++ b/include/configs/omap3_zoom2.h
> @@ -36,6 +36,7 @@
>  #define CONFIG_OMAP		1	/* in a TI OMAP core */
>  #define CONFIG_OMAP34XX		1	/* which is a 34XX */
>  #define CONFIG_OMAP3_ZOOM2	1	/* working with Zoom II */
> +#define CONFIG_OMAP_GPIO
>  
>  #define CONFIG_SDRC	/* The chip has SDRC controller */
>  
> diff --git a/include/configs/omap4_common.h
> b/include/configs/omap4_common.h index 2192c2b..bc73f21 100644
> --- a/include/configs/omap4_common.h
> +++ b/include/configs/omap4_common.h
> @@ -35,6 +35,7 @@
>  #define CONFIG_OMAP		1	/* in a TI OMAP core */
>  #define CONFIG_OMAP44XX		1	/* which is a 44XX */
>  #define CONFIG_OMAP4430		1	/* which is in a
> 4430 */ +#define CONFIG_OMAP_GPIO
>  
>  /* Get CPU defs */
>  #include <asm/arch/cpu.h>
> diff --git a/include/configs/omap5_evm.h b/include/configs/omap5_evm.h
> index c5874bb..0884280 100644
> --- a/include/configs/omap5_evm.h
> +++ b/include/configs/omap5_evm.h
> @@ -38,6 +38,7 @@
>  #define CONFIG_OMAP54XX	/* which is a 54XX */
>  #define CONFIG_OMAP5430	/* which is in a 5430 */
>  #define CONFIG_5430EVM	/* working with EVM */
> +#define CONFIG_OMAP_GPIO
>  
>  /* Get CPU defs */
>  #include <asm/arch/cpu.h>
> diff --git a/include/configs/tam3517-common.h
> b/include/configs/tam3517-common.h index 777f77c..94006e7 100644
> --- a/include/configs/tam3517-common.h
> +++ b/include/configs/tam3517-common.h
> @@ -27,6 +27,7 @@
>   */
>  #define CONFIG_OMAP		/* in a TI OMAP core */
>  #define CONFIG_OMAP34XX		/* which is a 34XX */
> +#define CONFIG_OMAP_GPIO
>  
>  #define CONFIG_SYS_TEXT_BASE 0x80008000
>  

When applied on top of u-boot-arm/master, this patch causes a raise
in build failures. With master:

--------------------- SUMMARY ----------------------------
Boards compiled: 315
Boards with warnings but no errors: 2 ( VCMA9 smdk2410 )
----------------------------------------------------------

With master + this patch:

--------------------- SUMMARY ----------------------------
Boards compiled: 315
Boards with errors: 23 ( mcx igep0030_nand omap3_evm_quick_nand
omap3_evm omap3_pandora omap3_overo omap5_evm omap4_panda mt_ventoux
igep0020_nand omap4_sdp4430 twister omap3_zoom2 igep0030 igep0020
omap3_evm_quick_mmc cm_t35 omap3_beagle am335x_evm dig297 omap3_logic
omap3_mvblx devkit8000 )
Boards with warnings but no errors: 2 ( VCMA9 smdk2410 )
----------------------------------------------------------

Typical diagnostics:

/home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:
In function
`gpio_set_value': /home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:146:
multiple definition of
`gpio_set_value' /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:/home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:146:
first defined
here /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:
In function
`gpio_get_value': /home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:161:
multiple definition of
`gpio_get_value' /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:/home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:161:
first defined
here /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:
In function
`gpio_direction_input': /home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:195:
multiple definition of
`gpio_direction_input' /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:/home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:195:
first defined
here /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:
In function
`gpio_direction_output': /home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:211:
multiple definition of
`gpio_direction_output' /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:/home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:211:
first defined
here /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:
In function
`gpio_request': /home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:230:
multiple definition of
`gpio_request' /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:/home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:230:
first defined
here /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:
In function
`gpio_free': /home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:243:
multiple definition of
`gpio_free' /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:/home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:243:
first defined here

Am I missing some dependency of this patch?

Amicalement,
Tom Rini - Aug. 31, 2012, 4:33 p.m.
On Fri, Aug 31, 2012 at 06:27:23PM +0200, Albert ARIBAUD wrote:
> Hi Marek,
> 
> On Sat, 21 Jul 2012 17:02:23 +0200, Marek Vasut <marex@denx.de> wrote:
> 
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > Cc: Wolfgang Denk <wd@denx.de>
> > Cc: Albert Aribaud <albert.u.boot@aribaud.net>
> > Cc: U-Boot DM <u-boot-dm@lists.denx.de>
> > Cc: Tom Rini <trini@ti.com>
[snip]
> Typical diagnostics:
> 
> /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:
> In function
> `gpio_set_value': /home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:146:
> multiple definition of
> `gpio_set_value' /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:/home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:146:
> first defined
> here /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:

This patch is already in u-boot-arm/master :)
Marek Vasut - Aug. 31, 2012, 5:28 p.m.
Dear Tom Rini,

> On Fri, Aug 31, 2012 at 06:27:23PM +0200, Albert ARIBAUD wrote:
> > Hi Marek,
> > 
> > On Sat, 21 Jul 2012 17:02:23 +0200, Marek Vasut <marex@denx.de> wrote:
> > > Signed-off-by: Marek Vasut <marex@denx.de>
> > > Cc: Wolfgang Denk <wd@denx.de>
> > > Cc: Albert Aribaud <albert.u.boot@aribaud.net>
> > > Cc: U-Boot DM <u-boot-dm@lists.denx.de>
> > > Cc: Tom Rini <trini@ti.com>
> 
> [snip]
> 
> > Typical diagnostics:
> > 
> > /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:
> > In function
> > `gpio_set_value':
> > /home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:146: multiple
> > definition of
> > `gpio_set_value'
> > /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:/
> > home/albert/src/u-boot-arm/drivers/gpio/omap_gpio.c:146: first defined
> 
> > here /home/albert/src/u-boot-arm/build/omap4_panda/drivers/gpio/omap_gpio.o:
> This patch is already in u-boot-arm/master :)

Heh :-)

Agreed though, this was applied a while ago through Toms tree. btw. Albert, can 
you please pick 1-3/3 from this crude series? I think noone will mourn for them.

Best regards,
Marek Vasut

Patch

diff --git a/arch/arm/cpu/armv7/omap-common/Makefile b/arch/arm/cpu/armv7/omap-common/Makefile
index 2a6625f..d37b22d 100644
--- a/arch/arm/cpu/armv7/omap-common/Makefile
+++ b/arch/arm/cpu/armv7/omap-common/Makefile
@@ -29,9 +29,6 @@  SOBJS	:= reset.o
 
 COBJS	:= timer.o
 COBJS	+= utils.o
-ifdef CONFIG_OMAP
-COBJS	+= gpio.o
-endif
 
 ifneq ($(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),)
 COBJS	+= hwinit-common.o
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index 32a2474..8958bb4 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -40,6 +40,7 @@  COBJS-$(CONFIG_TEGRA_GPIO)	+= tegra_gpio.o
 COBJS-$(CONFIG_DA8XX_GPIO)	+= da8xx_gpio.o
 COBJS-$(CONFIG_ALTERA_PIO)	+= altera_pio.o
 COBJS-$(CONFIG_MPC83XX_GPIO)	+= mpc83xx_gpio.o
+COBJS-$(CONFIG_OMAP_GPIO)	+= omap_gpio.o
 
 COBJS	:= $(COBJS-y)
 SRCS 	:= $(COBJS:.o=.c)
diff --git a/arch/arm/cpu/armv7/omap-common/gpio.c b/drivers/gpio/omap_gpio.c
similarity index 100%
rename from arch/arm/cpu/armv7/omap-common/gpio.c
rename to drivers/gpio/omap_gpio.c
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index ee4bce5..6eeb2d3 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -37,6 +37,7 @@ 
  */
 #define CONFIG_OMAP	/* in a TI OMAP core */
 #define CONFIG_OMAP34XX	/* which is a 34XX */
+#define CONFIG_OMAP_GPIO
 #define CONFIG_CM_T3X	/* working with CM-T35 and CM-T3730 */
 
 #define CONFIG_SYS_TEXT_BASE	0x80008000
diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
index 037a5bb..e529099 100644
--- a/include/configs/devkit8000.h
+++ b/include/configs/devkit8000.h
@@ -36,6 +36,8 @@ 
 #define CONFIG_OMAP34XX		1	/* which is a 34XX */
 #define CONFIG_OMAP3_DEVKIT8000	1	/* working with DevKit8000 */
 #define CONFIG_MACH_TYPE	MACH_TYPE_DEVKIT8000
+#define CONFIG_OMAP_GPIO
+
 /*
  * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM
  * 64 bytes before this address should be set aside for u-boot.img's
diff --git a/include/configs/dig297.h b/include/configs/dig297.h
index 4845d51..f123675 100644
--- a/include/configs/dig297.h
+++ b/include/configs/dig297.h
@@ -45,6 +45,7 @@ 
  */
 #define CONFIG_OMAP		/* in a TI OMAP core */
 #define CONFIG_OMAP34XX		/* which is a 34XX */
+#define CONFIG_OMAP_GPIO
 
 #define CONFIG_SYS_TEXT_BASE	0x80008000
 
diff --git a/include/configs/igep00x0.h b/include/configs/igep00x0.h
index 88e2e3a..727b800 100644
--- a/include/configs/igep00x0.h
+++ b/include/configs/igep00x0.h
@@ -30,6 +30,7 @@ 
  */
 #define CONFIG_OMAP		1	/* in a TI OMAP core */
 #define CONFIG_OMAP34XX		1	/* which is a 34XX */
+#define CONFIG_OMAP_GPIO
 
 #define CONFIG_SDRC	/* The chip has SDRC controller */
 
diff --git a/include/configs/mcx.h b/include/configs/mcx.h
index 970c882..0b75460 100644
--- a/include/configs/mcx.h
+++ b/include/configs/mcx.h
@@ -27,6 +27,7 @@ 
 #define CONFIG_OMAP			/* in a TI OMAP core */
 #define CONFIG_OMAP34XX			/* which is a 34XX */
 #define CONFIG_OMAP3_MCX		/* working with mcx */
+#define CONFIG_OMAP_GPIO
 
 #define MACH_TYPE_MCX			3656
 #define CONFIG_MACH_TYPE	MACH_TYPE_MCX
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index 657780e..382b791 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -34,6 +34,7 @@ 
 #define CONFIG_OMAP		1	/* in a TI OMAP core */
 #define CONFIG_OMAP34XX		1	/* which is a 34XX */
 #define CONFIG_OMAP3_BEAGLE	1	/* working with BEAGLE */
+#define CONFIG_OMAP_GPIO
 
 #define CONFIG_SDRC	/* The chip has SDRC controller */
 
diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
index 20192a9..b12ce2e 100644
--- a/include/configs/omap3_evm_common.h
+++ b/include/configs/omap3_evm_common.h
@@ -22,6 +22,7 @@ 
  */
 #define CONFIG_OMAP			/* This is TI OMAP core */
 #define CONFIG_OMAP34XX			/* belonging to 34XX family */
+#define CONFIG_OMAP_GPIO
 
 #define CONFIG_SDRC			/* The chip has SDRC controller */
 
diff --git a/include/configs/omap3_logic.h b/include/configs/omap3_logic.h
index 2e1e6b9..6d4faed 100644
--- a/include/configs/omap3_logic.h
+++ b/include/configs/omap3_logic.h
@@ -33,6 +33,7 @@ 
 #define CONFIG_OMAP			/* in a TI OMAP core */
 #define CONFIG_OMAP34XX			/* which is a 34XX */
 #define CONFIG_OMAP3_LOGIC		/* working with Logic OMAP boards */
+#define CONFIG_OMAP_GPIO
 
 #undef CONFIG_USE_IRQ			/* no support for IRQs */
 
diff --git a/include/configs/omap3_mvblx.h b/include/configs/omap3_mvblx.h
index 6a13046..30ca312 100644
--- a/include/configs/omap3_mvblx.h
+++ b/include/configs/omap3_mvblx.h
@@ -39,6 +39,7 @@ 
 #define CONFIG_OMAP34XX		1	/* which is a 34XX */
 #define CONFIG_MVBLX		1	/* working with mvBlueLYNX-X */
 #define CONFIG_MACH_TYPE	MACH_TYPE_MVBLX
+#define CONFIG_OMAP_GPIO
 
 #define CONFIG_SDRC	/* The chip has SDRC controller */
 
diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
index d29b326..f6afb7a 100644
--- a/include/configs/omap3_overo.h
+++ b/include/configs/omap3_overo.h
@@ -25,6 +25,7 @@ 
 #define CONFIG_OMAP				/* in a TI OMAP core */
 #define CONFIG_OMAP34XX				/* which is a 34XX */
 #define CONFIG_OMAP3_OVERO			/* working with overo */
+#define CONFIG_OMAP_GPIO
 
 #define CONFIG_SDRC				/* The chip has SDRC controller */
 
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 604b53d..28f8a3e 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -29,6 +29,7 @@ 
 #define CONFIG_OMAP		1	/* in a TI OMAP core */
 #define CONFIG_OMAP34XX		1	/* which is a 34XX */
 #define CONFIG_OMAP3_PANDORA	1	/* working with pandora */
+#define CONFIG_OMAP_GPIO
 
 #define CONFIG_SDRC	/* The chip has SDRC controller */
 
diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h
index b60ece3..98b93f8 100644
--- a/include/configs/omap3_zoom2.h
+++ b/include/configs/omap3_zoom2.h
@@ -36,6 +36,7 @@ 
 #define CONFIG_OMAP		1	/* in a TI OMAP core */
 #define CONFIG_OMAP34XX		1	/* which is a 34XX */
 #define CONFIG_OMAP3_ZOOM2	1	/* working with Zoom II */
+#define CONFIG_OMAP_GPIO
 
 #define CONFIG_SDRC	/* The chip has SDRC controller */
 
diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h
index 2192c2b..bc73f21 100644
--- a/include/configs/omap4_common.h
+++ b/include/configs/omap4_common.h
@@ -35,6 +35,7 @@ 
 #define CONFIG_OMAP		1	/* in a TI OMAP core */
 #define CONFIG_OMAP44XX		1	/* which is a 44XX */
 #define CONFIG_OMAP4430		1	/* which is in a 4430 */
+#define CONFIG_OMAP_GPIO
 
 /* Get CPU defs */
 #include <asm/arch/cpu.h>
diff --git a/include/configs/omap5_evm.h b/include/configs/omap5_evm.h
index c5874bb..0884280 100644
--- a/include/configs/omap5_evm.h
+++ b/include/configs/omap5_evm.h
@@ -38,6 +38,7 @@ 
 #define CONFIG_OMAP54XX	/* which is a 54XX */
 #define CONFIG_OMAP5430	/* which is in a 5430 */
 #define CONFIG_5430EVM	/* working with EVM */
+#define CONFIG_OMAP_GPIO
 
 /* Get CPU defs */
 #include <asm/arch/cpu.h>
diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h
index 777f77c..94006e7 100644
--- a/include/configs/tam3517-common.h
+++ b/include/configs/tam3517-common.h
@@ -27,6 +27,7 @@ 
  */
 #define CONFIG_OMAP		/* in a TI OMAP core */
 #define CONFIG_OMAP34XX		/* which is a 34XX */
+#define CONFIG_OMAP_GPIO
 
 #define CONFIG_SYS_TEXT_BASE 0x80008000