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

Albert ARIBAUD albert.u.boot at aribaud.net
Fri Aug 31 18:27:23 CEST 2012


Hi Marek,

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

> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Wolfgang Denk <wd at denx.de>
> Cc: Albert Aribaud <albert.u.boot at aribaud.net>
> Cc: U-Boot DM <u-boot-dm at lists.denx.de>
> Cc: Tom Rini <trini at 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,
-- 
Albert.


More information about the U-Boot mailing list