[U-Boot] [PATCH 00/49] reduce warnings with W=1

When compiling u-boot with W=1 there are numerous of warnings. This patchset attempts to reduce it a bit. One source of false warnings are the aliases missing a prototype, most of them are replaced with __weak functions. Others are cause by missing includes / local functions not be marked as such. At last some actual missing prototypes are added. These are (hopefully) just trivial patches, some less than trial is ahead of us.
Jeroen Hofstee (49): arm: board: use __weak common: board: use __weak cti_flash.c: use __weak when requested i2c: use __weak misc: use __weak net: phy: fix warnings with W=1 pci: use __weak samsung: board: use __weak usb: use __weak video: use __weak common: cmd_elf: make do_bootelf_exec static common: board_r: make local functions static disk/part.c: make local function static ehci-hcd.c: make local functions static env_nand: make local functions static eth: make eth_address_set static gpio: make local functions static image-fit: make local function static lmb: make local functions static net: fec_mxc: make local functions static omap3: make local functions static omap_gpmc: fix warnigs with W=1 sdhci: make local functions static serial: make local functions static spi: make local functions static tegra: make local functions static video: ipu: prevent warnings with W=1 common:console: add missing include string.h: add missing prototypes arch-mx: add missing include common/cmd_elf.c: add missing include imx: add missing includes leds: missing include lib: bootm: add missing include mmc: bcm2835_sdhci: add missing include net: davince: add missing include omap3: board: add missing include and proto twister: add missing includes arm: vectors: provide protypes from vectors.S bootm: add prototype for arch_preboot_os elf: add prototype for valid_elf_image fdt_support: add prototypes for __weak functions gpio: add protype for name_to_gpio ide: add missing prototype mmc: add prototype for mmc_get_env_addr serial: add prototypes for init functions spl: add prototype for jump_to_image_no_args tegra: add proto for pin_mux_mmc i2c: designware: add an implement i2c protos
arch/arm/cpu/arm926ejs/at91/led.c | 1 + arch/arm/cpu/arm926ejs/cache.c | 5 +- arch/arm/cpu/armv7/mx6/soc.c | 1 + arch/arm/cpu/armv7/omap3/board.c | 3 +- arch/arm/cpu/armv7/omap3/emif4.c | 2 +- arch/arm/cpu/armv7/omap3/sys_info.c | 4 +- arch/arm/cpu/armv7/tegra20/display.c | 3 +- arch/arm/cpu/tegra-common/sys_info.c | 2 +- arch/arm/imx-common/cpu.c | 2 + arch/arm/imx-common/misc.c | 1 + arch/arm/include/asm/arch-mxs/sys_proto.h | 2 + arch/arm/include/asm/arch-omap3/sys_proto.h | 1 + arch/arm/include/asm/arch-tegra/board.h | 11 +- arch/arm/include/asm/u-boot-arm.h | 15 +++ arch/arm/lib/board.c | 41 +++----- arch/arm/lib/bootm.c | 1 + arch/arm/lib/interrupts.c | 1 + board/atmel/at91rm9200ek/led.c | 1 + board/atmel/at91sam9260ek/led.c | 1 + board/nvidia/common/board.c | 43 ++------ board/nvidia/common/emc.c | 1 + board/nvidia/seaboard/seaboard.c | 1 + board/samsung/common/board.c | 8 +- board/technexion/twister/twister.c | 2 + board/w7o/fsboot.c | 3 +- common/board_f.c | 10 +- common/board_r.c | 18 ++-- common/cmd_elf.c | 4 +- common/cmd_gpio.c | 2 +- common/console.c | 3 +- common/env_nand.c | 4 +- common/image-fit.c | 2 +- common/menu.c | 5 +- common/stdio.c | 14 +-- disk/part.c | 2 +- drivers/gpio/bcm2835_gpio.c | 2 +- drivers/gpio/kw_gpio.c | 4 +- drivers/i2c/designware_i2c.c | 17 ++-- drivers/i2c/i2c_core.c | 4 +- drivers/i2c/tegra_i2c.c | 7 +- drivers/input/tegra-kbc.c | 2 +- drivers/mmc/bcm2835_sdhci.c | 1 + drivers/mmc/sdhci.c | 6 +- drivers/mmc/tegra_mmc.c | 3 +- drivers/mtd/cfi_flash.c | 50 +++------- drivers/mtd/nand/omap_gpmc.c | 19 +--- drivers/net/davinci_emac.c | 1 + drivers/net/fec_mxc.c | 8 +- drivers/net/phy/phy.c | 7 +- drivers/pci/pci.c | 8 +- drivers/power/power_spi.c | 4 +- drivers/serial/serial.c | 149 ++++++++++++++-------------- drivers/serial/serial_sh.c | 4 +- drivers/usb/host/ehci-hcd.c | 17 +--- drivers/video/cfb_console.c | 14 +-- drivers/video/exynos_fb.c | 32 ++---- drivers/video/ipu_common.c | 2 +- drivers/video/ipu_disp.c | 17 +--- drivers/video/mxc_ipuv3_fb.c | 2 +- include/asm-generic/gpio.h | 2 + include/bootm.h | 2 + include/elf.h | 2 + include/fdt_support.h | 2 + include/ide.h | 1 + include/linux/string.h | 7 ++ include/mmc.h | 1 + include/serial.h | 49 +++++++++ include/spl.h | 2 + lib/lmb.c | 2 +- net/eth.c | 2 +- post/post.c | 9 +- 71 files changed, 320 insertions(+), 361 deletions(-)

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/lib/board.c | 40 ++++++++++++---------------------------- 1 file changed, 12 insertions(+), 28 deletions(-)
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index 76adaf3..98782ca 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -63,25 +63,15 @@ extern void dataflash_print_info(void); ************************************************************************ * May be supplied by boards if desired */ -inline void __coloured_LED_init(void) {} -void coloured_LED_init(void) - __attribute__((weak, alias("__coloured_LED_init"))); -inline void __red_led_on(void) {} -void red_led_on(void) __attribute__((weak, alias("__red_led_on"))); -inline void __red_led_off(void) {} -void red_led_off(void) __attribute__((weak, alias("__red_led_off"))); -inline void __green_led_on(void) {} -void green_led_on(void) __attribute__((weak, alias("__green_led_on"))); -inline void __green_led_off(void) {} -void green_led_off(void) __attribute__((weak, alias("__green_led_off"))); -inline void __yellow_led_on(void) {} -void yellow_led_on(void) __attribute__((weak, alias("__yellow_led_on"))); -inline void __yellow_led_off(void) {} -void yellow_led_off(void) __attribute__((weak, alias("__yellow_led_off"))); -inline void __blue_led_on(void) {} -void blue_led_on(void) __attribute__((weak, alias("__blue_led_on"))); -inline void __blue_led_off(void) {} -void blue_led_off(void) __attribute__((weak, alias("__blue_led_off"))); +__weak void coloured_LED_init(void) {} +__weak void red_led_on(void) {} +__weak void red_led_off(void) {} +__weak void green_led_on(void) {} +__weak void green_led_off(void) {} +__weak void yellow_led_on(void) {} +__weak void yellow_led_off(void) {} +__weak void blue_led_on(void) {} +__weak void blue_led_off(void) {}
/* ************************************************************************ @@ -198,27 +188,21 @@ static int arm_pci_init(void) */ typedef int (init_fnc_t) (void);
-void __dram_init_banksize(void) +__weak void dram_init_banksize(void) { gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; gd->bd->bi_dram[0].size = gd->ram_size; } -void dram_init_banksize(void) - __attribute__((weak, alias("__dram_init_banksize")));
-int __arch_cpu_init(void) +__weak int arch_cpu_init(void) { return 0; } -int arch_cpu_init(void) - __attribute__((weak, alias("__arch_cpu_init")));
-int __power_init_board(void) +__weak int power_init_board(void) { return 0; } -int power_init_board(void) - __attribute__((weak, alias("__power_init_board")));
/* Record the board_init_f() bootstage (after arch_cpu_init()) */ static int mark_bootstage(void)

Hi Jeroen,
On Wed, 8 Oct 2014 22:57:21 +0200, Jeroen Hofstee jeroen@myspectrum.nl wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
arch/arm/lib/board.c | 40 ++++++++++++---------------------------- 1 file changed, 12 insertions(+), 28 deletions(-)
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index 76adaf3..98782ca 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -63,25 +63,15 @@ extern void dataflash_print_info(void);
- May be supplied by boards if desired
*/ -inline void __coloured_LED_init(void) {} -void coloured_LED_init(void)
- __attribute__((weak, alias("__coloured_LED_init")));
-inline void __red_led_on(void) {} -void red_led_on(void) __attribute__((weak, alias("__red_led_on"))); -inline void __red_led_off(void) {} -void red_led_off(void) __attribute__((weak, alias("__red_led_off"))); -inline void __green_led_on(void) {} -void green_led_on(void) __attribute__((weak, alias("__green_led_on"))); -inline void __green_led_off(void) {} -void green_led_off(void) __attribute__((weak, alias("__green_led_off"))); -inline void __yellow_led_on(void) {} -void yellow_led_on(void) __attribute__((weak, alias("__yellow_led_on"))); -inline void __yellow_led_off(void) {} -void yellow_led_off(void) __attribute__((weak, alias("__yellow_led_off"))); -inline void __blue_led_on(void) {} -void blue_led_on(void) __attribute__((weak, alias("__blue_led_on"))); -inline void __blue_led_off(void) {} -void blue_led_off(void) __attribute__((weak, alias("__blue_led_off"))); +__weak void coloured_LED_init(void) {} +__weak void red_led_on(void) {} +__weak void red_led_off(void) {} +__weak void green_led_on(void) {} +__weak void green_led_off(void) {} +__weak void yellow_led_on(void) {} +__weak void yellow_led_off(void) {} +__weak void blue_led_on(void) {} +__weak void blue_led_off(void) {}
/*
@@ -198,27 +188,21 @@ static int arm_pci_init(void) */ typedef int (init_fnc_t) (void);
-void __dram_init_banksize(void) +__weak void dram_init_banksize(void) { gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; gd->bd->bi_dram[0].size = gd->ram_size; } -void dram_init_banksize(void)
- __attribute__((weak, alias("__dram_init_banksize")));
-int __arch_cpu_init(void) +__weak int arch_cpu_init(void) { return 0; } -int arch_cpu_init(void)
- __attribute__((weak, alias("__arch_cpu_init")));
-int __power_init_board(void) +__weak int power_init_board(void) { return 0; } -int power_init_board(void)
__attribute__((weak, alias("__power_init_board")));
/* Record the board_init_f() bootstage (after arch_cpu_init()) */
static int mark_bootstage(void)
Acked-by: Albert ARIBAUD albert.u.boot@aribaud.net
Amicalement,

On Wed, Oct 08, 2014 at 10:57:21PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl Acked-by: Albert ARIBAUD albert.u.boot@aribaud.net
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- common/board_f.c | 10 ++-------- common/board_r.c | 10 ++-------- 2 files changed, 4 insertions(+), 16 deletions(-)
diff --git a/common/board_f.c b/common/board_f.c index e6aa298..b5bebc9 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -128,14 +128,11 @@ int init_func_watchdog_reset(void) } #endif /* CONFIG_WATCHDOG */
-void __board_add_ram_info(int use_default) +__weak void board_add_ram_info(int use_default) { /* please define platform specific board_add_ram_info() */ }
-void board_add_ram_info(int) - __attribute__ ((weak, alias("__board_add_ram_info"))); - static int init_baud_rate(void) { gd->baudrate = getenv_ulong("baudrate", 10, CONFIG_BAUDRATE); @@ -221,7 +218,7 @@ static int show_dram_config(void) return 0; }
-void __dram_init_banksize(void) +__weak void dram_init_banksize(void) { #if defined(CONFIG_NR_DRAM_BANKS) && defined(CONFIG_SYS_SDRAM_BASE) gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE; @@ -229,9 +226,6 @@ void __dram_init_banksize(void) #endif }
-void dram_init_banksize(void) - __attribute__((weak, alias("__dram_init_banksize"))); - #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C) static int init_func_i2c(void) { diff --git a/common/board_r.c b/common/board_r.c index 231c6d6..40eae4e 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -60,7 +60,7 @@ DECLARE_GLOBAL_DATA_PTR;
ulong monitor_flash_len;
-int __board_flash_wp_on(void) +__weak int board_flash_wp_on(void) { /* * Most flashes can't be detected when write protection is enabled, @@ -70,16 +70,10 @@ int __board_flash_wp_on(void) return 0; }
-int board_flash_wp_on(void) - __attribute__ ((weak, alias("__board_flash_wp_on"))); - -void __cpu_secondary_init_r(void) +__weak void cpu_secondary_init_r(void) { }
-void cpu_secondary_init_r(void) - __attribute__ ((weak, alias("__cpu_secondary_init_r"))); - static int initr_secondary_cpu(void) { /*

On Wed, Oct 08, 2014 at 10:57:22PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

For performance reason there seems to be a CONFIG_xyz. Introduce a __maybe_weak to allow using __weak directly instead of relying on aliases.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/mtd/cfi_flash.c | 50 ++++++++++++++++--------------------------------- 1 file changed, 16 insertions(+), 34 deletions(-)
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c index 9b3175d..50983b8 100644 --- a/drivers/mtd/cfi_flash.c +++ b/drivers/mtd/cfi_flash.c @@ -63,6 +63,12 @@ flash_info_t flash_info[CFI_MAX_FLASH_BANKS]; /* FLASH chips info */ #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_8BIT #endif
+#ifdef CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS +#define __maybe_weak __weak +#else +#define __maybe_weak static +#endif + /* * 0xffff is an undefined value for the configuration register. When * this value is returned, the configuration register shall not be @@ -81,14 +87,12 @@ static u16 cfi_flash_config_reg(int i) int cfi_flash_num_flash_banks = CONFIG_SYS_MAX_FLASH_BANKS_DETECT; #endif
-static phys_addr_t __cfi_flash_bank_addr(int i) +__weak phys_addr_t cfi_flash_bank_addr(int i) { return ((phys_addr_t [])CONFIG_SYS_FLASH_BANKS_LIST)[i]; } -phys_addr_t cfi_flash_bank_addr(int i) - __attribute__((weak, alias("__cfi_flash_bank_addr")));
-static unsigned long __cfi_flash_bank_size(int i) +__weak unsigned long cfi_flash_bank_size(int i) { #ifdef CONFIG_SYS_FLASH_BANKS_SIZES return ((unsigned long [])CONFIG_SYS_FLASH_BANKS_SIZES)[i]; @@ -96,71 +100,49 @@ static unsigned long __cfi_flash_bank_size(int i) return 0; #endif } -unsigned long cfi_flash_bank_size(int i) - __attribute__((weak, alias("__cfi_flash_bank_size")));
-static void __flash_write8(u8 value, void *addr) +__maybe_weak void flash_write8(u8 value, void *addr) { __raw_writeb(value, addr); }
-static void __flash_write16(u16 value, void *addr) +__maybe_weak void flash_write16(u16 value, void *addr) { __raw_writew(value, addr); }
-static void __flash_write32(u32 value, void *addr) +__maybe_weak void flash_write32(u32 value, void *addr) { __raw_writel(value, addr); }
-static void __flash_write64(u64 value, void *addr) +__maybe_weak void flash_write64(u64 value, void *addr) { /* No architectures currently implement __raw_writeq() */ *(volatile u64 *)addr = value; }
-static u8 __flash_read8(void *addr) +__maybe_weak u8 flash_read8(void *addr) { return __raw_readb(addr); }
-static u16 __flash_read16(void *addr) +__maybe_weak u16 flash_read16(void *addr) { return __raw_readw(addr); }
-static u32 __flash_read32(void *addr) +__maybe_weak u32 flash_read32(void *addr) { return __raw_readl(addr); }
-static u64 __flash_read64(void *addr) +__maybe_weak u64 flash_read64(void *addr) { /* No architectures currently implement __raw_readq() */ return *(volatile u64 *)addr; }
-#ifdef CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS -void flash_write8(u8 value, void *addr)__attribute__((weak, alias("__flash_write8"))); -void flash_write16(u16 value, void *addr)__attribute__((weak, alias("__flash_write16"))); -void flash_write32(u32 value, void *addr)__attribute__((weak, alias("__flash_write32"))); -void flash_write64(u64 value, void *addr)__attribute__((weak, alias("__flash_write64"))); -u8 flash_read8(void *addr)__attribute__((weak, alias("__flash_read8"))); -u16 flash_read16(void *addr)__attribute__((weak, alias("__flash_read16"))); -u32 flash_read32(void *addr)__attribute__((weak, alias("__flash_read32"))); -u64 flash_read64(void *addr)__attribute__((weak, alias("__flash_read64"))); -#else -#define flash_write8 __flash_write8 -#define flash_write16 __flash_write16 -#define flash_write32 __flash_write32 -#define flash_write64 __flash_write64 -#define flash_read8 __flash_read8 -#define flash_read16 __flash_read16 -#define flash_read32 __flash_read32 -#define flash_read64 __flash_read64 -#endif - /*----------------------------------------------------------------------- */ #if defined(CONFIG_ENV_IS_IN_FLASH) || defined(CONFIG_ENV_ADDR_REDUND) || (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE)

On 08-10-14 22:57, Jeroen Hofstee wrote:
For performance reason there seems to be a CONFIG_xyz. Introduce a __maybe_weak to allow using __weak directly instead of relying on aliases.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
drivers/mtd/cfi_flash.c | 50 ++++++++++++++++--------------------------------- 1 file changed, 16 insertions(+), 34 deletions(-)
As a reminder to myself, CONFIG_xyz should be CONFIG_CFI_FLASH_USE_WEAK_ACCESSOR. And you seem to need to opt-in for it, not opt-out.

From: Jeroen Hofstee jeroen@myspectrum.nl
For various reasons (flash access design, errata work-around) some platforms need to implement their own flash_read/write functions, so mark them as __weak. A follow-up cleanup here would be to remove CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS if this is always known at compile-time, as it appears to be.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl Signed-off-by: Tom Rini trini@ti.com --- drivers/mtd/cfi_flash.c | 45 +++++++++++---------------------------------- include/mtd/cfi_flash.h | 2 -- 2 files changed, 11 insertions(+), 36 deletions(-)
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c index 9b3175d..7639be8 100644 --- a/drivers/mtd/cfi_flash.c +++ b/drivers/mtd/cfi_flash.c @@ -24,6 +24,7 @@ #include <asm/unaligned.h> #include <environment.h> #include <mtd/cfi_flash.h> +#include <linux/compiler.h> #include <watchdog.h>
/* @@ -81,14 +82,12 @@ static u16 cfi_flash_config_reg(int i) int cfi_flash_num_flash_banks = CONFIG_SYS_MAX_FLASH_BANKS_DETECT; #endif
-static phys_addr_t __cfi_flash_bank_addr(int i) +__weak phys_addr_t cfi_flash_bank_addr(int i) { return ((phys_addr_t [])CONFIG_SYS_FLASH_BANKS_LIST)[i]; } -phys_addr_t cfi_flash_bank_addr(int i) - __attribute__((weak, alias("__cfi_flash_bank_addr")));
-static unsigned long __cfi_flash_bank_size(int i) +__weak unsigned long cfi_flash_bank_size(int i) { #ifdef CONFIG_SYS_FLASH_BANKS_SIZES return ((unsigned long [])CONFIG_SYS_FLASH_BANKS_SIZES)[i]; @@ -96,71 +95,49 @@ static unsigned long __cfi_flash_bank_size(int i) return 0; #endif } -unsigned long cfi_flash_bank_size(int i) - __attribute__((weak, alias("__cfi_flash_bank_size")));
-static void __flash_write8(u8 value, void *addr) +__weak void flash_write8(u8 value, void *addr) { __raw_writeb(value, addr); }
-static void __flash_write16(u16 value, void *addr) +__weak void flash_write16(u16 value, void *addr) { __raw_writew(value, addr); }
-static void __flash_write32(u32 value, void *addr) +__weak void flash_write32(u32 value, void *addr) { __raw_writel(value, addr); }
-static void __flash_write64(u64 value, void *addr) +__weak void flash_write64(u64 value, void *addr) { /* No architectures currently implement __raw_writeq() */ *(volatile u64 *)addr = value; }
-static u8 __flash_read8(void *addr) +__weak u8 flash_read8(void *addr) { return __raw_readb(addr); }
-static u16 __flash_read16(void *addr) +__weak u16 flash_read16(void *addr) { return __raw_readw(addr); }
-static u32 __flash_read32(void *addr) +__weak u32 flash_read32(void *addr) { return __raw_readl(addr); }
-static u64 __flash_read64(void *addr) +__weak u64 flash_read64(void *addr) { /* No architectures currently implement __raw_readq() */ return *(volatile u64 *)addr; }
-#ifdef CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS -void flash_write8(u8 value, void *addr)__attribute__((weak, alias("__flash_write8"))); -void flash_write16(u16 value, void *addr)__attribute__((weak, alias("__flash_write16"))); -void flash_write32(u32 value, void *addr)__attribute__((weak, alias("__flash_write32"))); -void flash_write64(u64 value, void *addr)__attribute__((weak, alias("__flash_write64"))); -u8 flash_read8(void *addr)__attribute__((weak, alias("__flash_read8"))); -u16 flash_read16(void *addr)__attribute__((weak, alias("__flash_read16"))); -u32 flash_read32(void *addr)__attribute__((weak, alias("__flash_read32"))); -u64 flash_read64(void *addr)__attribute__((weak, alias("__flash_read64"))); -#else -#define flash_write8 __flash_write8 -#define flash_write16 __flash_write16 -#define flash_write32 __flash_write32 -#define flash_write64 __flash_write64 -#define flash_read8 __flash_read8 -#define flash_read16 __flash_read16 -#define flash_read32 __flash_read32 -#define flash_read64 __flash_read64 -#endif - /*----------------------------------------------------------------------- */ #if defined(CONFIG_ENV_IS_IN_FLASH) || defined(CONFIG_ENV_ADDR_REDUND) || (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE) diff --git a/include/mtd/cfi_flash.h b/include/mtd/cfi_flash.h index 048b477..51385c8 100644 --- a/include/mtd/cfi_flash.h +++ b/include/mtd/cfi_flash.h @@ -171,7 +171,6 @@ phys_addr_t cfi_flash_bank_addr(int i); unsigned long cfi_flash_bank_size(int i); void flash_cmd_reset(flash_info_t *info);
-#ifdef CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS void flash_write8(u8 value, void *addr); void flash_write16(u16 value, void *addr); void flash_write32(u32 value, void *addr); @@ -180,6 +179,5 @@ u8 flash_read8(void *addr); u16 flash_read16(void *addr); u32 flash_read32(void *addr); u64 flash_read64(void *addr); -#endif
#endif /* __CFI_FLASH_H__ */

On Fri, Oct 24, 2014 at 04:18:30PM -0400, Tom Rini wrote:
From: Jeroen Hofstee jeroen@myspectrum.nl
For various reasons (flash access design, errata work-around) some platforms need to implement their own flash_read/write functions, so mark them as __weak. A follow-up cleanup here would be to remove CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS if this is always known at compile-time, as it appears to be.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl Signed-off-by: Tom Rini trini@ti.com
On IRC, Jeroen pointed out that this way does change behavior and potentially performance since in the normal case these functions no longer get inlined. So I'm withdrawing this patch.

On Wed, Oct 08, 2014 at 10:57:23PM +0200, Jeroen Hofstee wrote:
For various reasons (design, errata) boards may need to implement their own versions of these accessors. So in the case of CONFIG_CFI_FLASH_USE_WEAK_ACCESSOR mark the functions as weak. In the normal case mark them as static to allow for better optimization.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl [trini: Reword commit message] Signed-off-by: Tom Rini trini@ti.com
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/cpu/arm926ejs/cache.c | 5 +---- drivers/i2c/i2c_core.c | 4 +--- 2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/arch/arm/cpu/arm926ejs/cache.c b/arch/arm/cpu/arm926ejs/cache.c index e86c2ed..8d7873c 100644 --- a/arch/arm/cpu/arm926ejs/cache.c +++ b/arch/arm/cpu/arm926ejs/cache.c @@ -99,7 +99,4 @@ void flush_cache(unsigned long start, unsigned long size) /* * Stub implementations for l2 cache operations */ -void __l2_cache_disable(void) {} - -void l2_cache_disable(void) - __attribute__((weak, alias("__l2_cache_disable"))); +__weak void l2_cache_disable(void) {} diff --git a/drivers/i2c/i2c_core.c b/drivers/i2c/i2c_core.c index 18d6736..7f63987 100644 --- a/drivers/i2c/i2c_core.c +++ b/drivers/i2c/i2c_core.c @@ -395,9 +395,7 @@ void i2c_reg_write(uint8_t addr, uint8_t reg, uint8_t val) i2c_write(addr, reg, 1, &val, 1); }
-void __i2c_init(int speed, int slaveaddr) +__weak void i2c_init(int speed, int slaveaddr) { i2c_init_bus(i2c_get_bus_num(), speed, slaveaddr); } -void i2c_init(int speed, int slaveaddr) - __attribute__((weak, alias("__i2c_init")));

Hello Jeroen,
first, thanks for this clean up!
Am 08.10.2014 22:57, schrieb Jeroen Hofstee:
Signed-off-by: Jeroen Hofsteejeroen@myspectrum.nl
arch/arm/cpu/arm926ejs/cache.c | 5 +----
This change seems to have nothing to do with the subject ... could you please split this?
drivers/i2c/i2c_core.c | 4 +--- 2 files changed, 2 insertions(+), 7 deletions(-)
Beside of this nitpick: Acked-by: Heiko Schocher hs@denx.de
bye, Heiko

Hello Heiko,
On 09-10-14 07:00, Heiko Schocher wrote:
Am 08.10.2014 22:57, schrieb Jeroen Hofstee:
Signed-off-by: Jeroen Hofsteejeroen@myspectrum.nl
arch/arm/cpu/arm926ejs/cache.c | 5 +----
This change seems to have nothing to do with the subject ... could you please split this?
No problem, I likely accidentally squashed them. I will repost this patch with out it and append a new one.
Regards, Jeroen

On Thu, Oct 09, 2014 at 08:14:40PM +0200, Jeroen Hofstee wrote:
Hello Heiko,
On 09-10-14 07:00, Heiko Schocher wrote:
Am 08.10.2014 22:57, schrieb Jeroen Hofstee:
Signed-off-by: Jeroen Hofsteejeroen@myspectrum.nl
arch/arm/cpu/arm926ejs/cache.c | 5 +----
This change seems to have nothing to do with the subject ... could you please split this?
No problem, I likely accidentally squashed them. I will repost this patch with out it and append a new one.
Did I miss it? Thanks!

Hello Tom,
On 27-10-14 01:31, Tom Rini wrote:
On Thu, Oct 09, 2014 at 08:14:40PM +0200, Jeroen Hofstee wrote:
Hello Heiko,
On 09-10-14 07:00, Heiko Schocher wrote:
Am 08.10.2014 22:57, schrieb Jeroen Hofstee:
Signed-off-by: Jeroen Hofsteejeroen@myspectrum.nl
arch/arm/cpu/arm926ejs/cache.c | 5 +----
This change seems to have nothing to do with the subject ... could you please split this?
No problem, I likely accidentally squashed them. I will repost this patch with out it and append a new one.
Did I miss it? Thanks!
Thanks for applying most of them. I reposted the remaining ones.
Regards, Jeroen

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- common/menu.c | 5 +---- post/post.c | 9 ++------- 2 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/common/menu.c b/common/menu.c index 94afeb2..e81c074 100644 --- a/common/menu.c +++ b/common/menu.c @@ -105,12 +105,9 @@ static inline void *menu_item_destroy(struct menu *m, return NULL; }
-void __menu_display_statusline(struct menu *m) +__weak void menu_display_statusline(struct menu *m) { - return; } -void menu_display_statusline(struct menu *m) - __attribute__ ((weak, alias("__menu_display_statusline")));
/* * Display a menu so the user can make a choice of an item. First display its diff --git a/post/post.c b/post/post.c index 4af5355..4194edb 100644 --- a/post/post.c +++ b/post/post.c @@ -52,7 +52,7 @@ int post_init_f(void) * Boards with hotkey support can override this weak default function * by defining one in their board specific code. */ -int __post_hotkeys_pressed(void) +__weak int post_hotkeys_pressed(void) { #ifdef CONFIG_SYS_POST_HOTKEYS_GPIO int ret; @@ -73,9 +73,6 @@ int __post_hotkeys_pressed(void)
return 0; /* No hotkeys supported */ } -int post_hotkeys_pressed(void) - __attribute__((weak, alias("__post_hotkeys_pressed"))); -
void post_bootmode_init(void) { @@ -236,11 +233,9 @@ static void post_get_flags(int *test_flags) test_flags[j] |= POST_SLOWTEST; }
-void __show_post_progress(unsigned int test_num, int before, int result) +__weak void show_post_progress(unsigned int test_num, int before, int result) { } -void show_post_progress(unsigned int, int, int) - __attribute__((weak, alias("__show_post_progress")));
static int post_run_single(struct post_test *test, int test_flags, int flags, unsigned int i)

On Wed, Oct 08, 2014 at 10:57:25PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

get_phy_id is marked weak but has no protype nor a strong version, just make it static. Use __weak for board_phy_config.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/net/phy/phy.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 1d6c14f..f1ace3c 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -575,7 +575,7 @@ static struct phy_device *phy_device_create(struct mii_dev *bus, int addr, * Description: Reads the ID registers of the PHY at @addr on the * @bus, stores it in @phy_id and returns zero on success. */ -int __weak get_phy_id(struct mii_dev *bus, int addr, int devad, u32 *phy_id) +static int get_phy_id(struct mii_dev *bus, int addr, int devad, u32 *phy_id) { int phy_reg;
@@ -785,16 +785,13 @@ int phy_startup(struct phy_device *phydev) return 0; }
-static int __board_phy_config(struct phy_device *phydev) +__weak int board_phy_config(struct phy_device *phydev) { if (phydev->drv->config) return phydev->drv->config(phydev); return 0; }
-int board_phy_config(struct phy_device *phydev) - __attribute__((weak, alias("__board_phy_config"))); - int phy_config(struct phy_device *phydev) { /* Invoke an optional board-specific helper */

On Wed, Oct 08, 2014 at 10:57:26PM +0200, Jeroen Hofstee wrote:
get_phy_id is marked weak but has no protype nor a strong version, just make it static. Use __weak for board_phy_config.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/pci/pci.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 28859f3..60c333e 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -572,7 +572,7 @@ const char * pci_class_str(u8 class) } #endif /* CONFIG_CMD_PCI || CONFIG_PCI_SCAN_SHOW */
-int __pci_skip_dev(struct pci_controller *hose, pci_dev_t dev) +__weak int pci_skip_dev(struct pci_controller *hose, pci_dev_t dev) { /* * Check if pci device should be skipped in configuration @@ -591,19 +591,15 @@ int __pci_skip_dev(struct pci_controller *hose, pci_dev_t dev)
return 0; } -int pci_skip_dev(struct pci_controller *hose, pci_dev_t dev) - __attribute__((weak, alias("__pci_skip_dev")));
#ifdef CONFIG_PCI_SCAN_SHOW -int __pci_print_dev(struct pci_controller *hose, pci_dev_t dev) +__weak int pci_print_dev(struct pci_controller *hose, pci_dev_t dev) { if (dev == PCI_BDF(hose->first_busno, 0, 0)) return 0;
return 1; } -int pci_print_dev(struct pci_controller *hose, pci_dev_t dev) - __attribute__((weak, alias("__pci_print_dev"))); #endif /* CONFIG_PCI_SCAN_SHOW */
int pci_hose_scan_bus(struct pci_controller *hose, int bus)

On Wed, Oct 08, 2014 at 10:57:27PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- board/samsung/common/board.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c index 5c3c5bb..758ce4f 100644 --- a/board/samsung/common/board.c +++ b/board/samsung/common/board.c @@ -28,19 +28,15 @@
DECLARE_GLOBAL_DATA_PTR;
-int __exynos_early_init_f(void) +__weak int exynos_early_init_f(void) { return 0; } -int exynos_early_init_f(void) - __attribute__((weak, alias("__exynos_early_init_f")));
-int __exynos_power_init(void) +__weak int exynos_power_init(void) { return 0; } -int exynos_power_init(void) - __attribute__((weak, alias("__exynos_power_init")));
#if defined CONFIG_EXYNOS_TMU /* Boot Time Thermal Analysis for SoC temperature threshold breach */

On Wed, Oct 08, 2014 at 10:57:28PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/usb/host/ehci-hcd.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-)
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 6323c50..5e44ba1 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -119,15 +119,12 @@ static struct descriptor { #define ehci_is_TDI() (0) #endif
-int __ehci_get_port_speed(struct ehci_hcor *hcor, uint32_t reg) +__weak int ehci_get_port_speed(struct ehci_hcor *hcor, uint32_t reg) { return PORTSC_PSPD(reg); }
-int ehci_get_port_speed(struct ehci_hcor *hcor, uint32_t reg) - __attribute__((weak, alias("__ehci_get_port_speed"))); - -void __ehci_set_usbmode(int index) +__weak void ehci_set_usbmode(int index) { uint32_t tmp; uint32_t *reg_ptr; @@ -141,17 +138,11 @@ void __ehci_set_usbmode(int index) ehci_writel(reg_ptr, tmp); }
-void ehci_set_usbmode(int index) - __attribute__((weak, alias("__ehci_set_usbmode"))); - -void __ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg) +__weak void ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg) { mdelay(50); }
-void ehci_powerup_fixup(uint32_t *status_reg, uint32_t *reg) - __attribute__((weak, alias("__ehci_powerup_fixup"))); - static int handshake(uint32_t *ptr, uint32_t mask, uint32_t done, int usec) { uint32_t result;

On Wed, Oct 08, 2014 at 10:57:29PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/video/cfb_console.c | 10 ++-------- drivers/video/exynos_fb.c | 32 ++++++++------------------------ 2 files changed, 10 insertions(+), 32 deletions(-)
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c index 9231927..8567231 100644 --- a/drivers/video/cfb_console.c +++ b/drivers/video/cfb_console.c @@ -1171,14 +1171,11 @@ void video_puts(struct stdio_dev *dev, const char *s) * video_set_lut() if they do not support 8 bpp format. * Implement weak default function instead. */ -void __video_set_lut(unsigned int index, unsigned char r, +__weak void video_set_lut(unsigned int index, unsigned char r, unsigned char g, unsigned char b) { }
-void video_set_lut(unsigned int, unsigned char, unsigned char, unsigned char) - __attribute__ ((weak, alias("__video_set_lut"))); - #if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN)
#define FILL_8BIT_332RGB(r,g,b) { \ @@ -2240,15 +2237,12 @@ static int video_init(void) * Implement a weak default function for boards that optionally * need to skip the video initialization. */ -int __board_video_skip(void) +__weak int board_video_skip(void) { /* As default, don't skip test */ return 0; }
-int board_video_skip(void) - __attribute__ ((weak, alias("__board_video_skip"))); - int drv_video_init(void) { int skip_dev_init; diff --git a/drivers/video/exynos_fb.c b/drivers/video/exynos_fb.c index 180a3b4..be35b98 100644 --- a/drivers/video/exynos_fb.c +++ b/drivers/video/exynos_fb.c @@ -58,54 +58,38 @@ static void exynos_lcd_init(vidinfo_t *vid) lcd_set_flush_dcache(1); }
-void __exynos_cfg_lcd_gpio(void) +__weak void exynos_cfg_lcd_gpio(void) { } -void exynos_cfg_lcd_gpio(void) - __attribute__((weak, alias("__exynos_cfg_lcd_gpio")));
-void __exynos_backlight_on(unsigned int onoff) +__weak void exynos_backlight_on(unsigned int onoff) { } -void exynos_backlight_on(unsigned int onoff) - __attribute__((weak, alias("__exynos_cfg_lcd_gpio")));
-void __exynos_reset_lcd(void) +__weak void exynos_reset_lcd(void) { } -void exynos_reset_lcd(void) - __attribute__((weak, alias("__exynos_reset_lcd")));
-void __exynos_lcd_power_on(void) +__weak void exynos_lcd_power_on(void) { } -void exynos_lcd_power_on(void) - __attribute__((weak, alias("__exynos_lcd_power_on")));
-void __exynos_cfg_ldo(void) +__weak void exynos_cfg_ldo(void) { } -void exynos_cfg_ldo(void) - __attribute__((weak, alias("__exynos_cfg_ldo")));
-void __exynos_enable_ldo(unsigned int onoff) +__weak void exynos_enable_ldo(unsigned int onoff) { } -void exynos_enable_ldo(unsigned int onoff) - __attribute__((weak, alias("__exynos_enable_ldo")));
-void __exynos_backlight_reset(void) +__weak void exynos_backlight_reset(void) { } -void exynos_backlight_reset(void) - __attribute__((weak, alias("__exynos_backlight_reset")));
-int __exynos_lcd_misc_init(vidinfo_t *vid) +__weak int exynos_lcd_misc_init(vidinfo_t *vid) { return 0; } -int exynos_lcd_misc_init(vidinfo_t *vid) - __attribute__((weak, alias("__exynos_lcd_misc_init")));
static void lcd_panel_on(vidinfo_t *vid) {

On Wed, Oct 08, 2014 at 10:57:30PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

do_bootelf_exec was a weak function without a prototype nor and strong version. Just make it static.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- common/cmd_elf.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/common/cmd_elf.c b/common/cmd_elf.c index ab9c7e3..2f229d7 100644 --- a/common/cmd_elf.c +++ b/common/cmd_elf.c @@ -28,8 +28,7 @@ static unsigned long load_elf_image_phdr(unsigned long addr); static unsigned long load_elf_image_shdr(unsigned long addr);
/* Allow ports to override the default behavior */ -__attribute__((weak)) -unsigned long do_bootelf_exec(ulong (*entry)(int, char * const[]), +static unsigned long do_bootelf_exec(ulong (*entry)(int, char * const[]), int argc, char * const argv[]) { unsigned long ret;

On Wed, Oct 08, 2014 at 10:57:31PM +0200, Jeroen Hofstee wrote:
do_bootelf_exec was a weak function without a prototype nor and strong version. Just make it static.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- common/board_r.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/common/board_r.c b/common/board_r.c index 40eae4e..54294d5 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -364,7 +364,7 @@ static int initr_spi(void)
#ifdef CONFIG_CMD_NAND /* go init the NAND */ -int initr_nand(void) +static int initr_nand(void) { puts("NAND: "); nand_init(); @@ -374,7 +374,7 @@ int initr_nand(void)
#if defined(CONFIG_CMD_ONENAND) /* go init the NAND */ -int initr_onenand(void) +static int initr_onenand(void) { puts("NAND: "); onenand_init(); @@ -383,7 +383,7 @@ int initr_onenand(void) #endif
#ifdef CONFIG_GENERIC_MMC -int initr_mmc(void) +static int initr_mmc(void) { puts("MMC: "); mmc_initialize(gd->bd); @@ -392,7 +392,7 @@ int initr_mmc(void) #endif
#ifdef CONFIG_HAS_DATAFLASH -int initr_dataflash(void) +static int initr_dataflash(void) { AT91F_DataflashInit(); dataflash_print_info();

On Wed, Oct 08, 2014 at 10:57:32PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- disk/part.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/disk/part.c b/disk/part.c index cfd77b0..43485c9 100644 --- a/disk/part.c +++ b/disk/part.c @@ -57,7 +57,7 @@ static const struct block_drvr block_drvr[] = { DECLARE_GLOBAL_DATA_PTR;
#ifdef HAVE_BLOCK_DEVICE -block_dev_desc_t *get_dev_hwpart(const char *ifname, int dev, int hwpart) +static block_dev_desc_t *get_dev_hwpart(const char *ifname, int dev, int hwpart) { const struct block_drvr *drvr = block_drvr; block_dev_desc_t* (*reloc_get_dev)(int dev);

On Wed, Oct 08, 2014 at 10:57:33PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/usb/host/ehci-hcd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 5e44ba1..936d006 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -1314,7 +1314,7 @@ void *poll_int_queue(struct usb_device *dev, struct int_queue *queue) }
/* Do not free buffers associated with QHs, they're owned by someone else */ -int +static int destroy_int_queue(struct usb_device *dev, struct int_queue *queue) { struct ehci_ctrl *ctrl = dev->controller;

On Wed, Oct 08, 2014 at 10:57:34PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- common/env_nand.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/common/env_nand.c b/common/env_nand.c index 5a734a9..749605f 100644 --- a/common/env_nand.c +++ b/common/env_nand.c @@ -124,7 +124,7 @@ int env_init(void) * The legacy NAND code saved the environment in the first NAND device i.e., * nand_dev_desc + 0. This is also the behaviour using the new NAND code. */ -int writeenv(size_t offset, u_char *buf) +static int writeenv(size_t offset, u_char *buf) { size_t end = offset + CONFIG_ENV_RANGE; size_t amount_saved = 0; @@ -233,7 +233,7 @@ int saveenv(void) } #endif /* CMD_SAVEENV */
-int readenv(size_t offset, u_char *buf) +static int readenv(size_t offset, u_char *buf) { size_t end = offset + CONFIG_ENV_RANGE; size_t amount_loaded = 0;

On Wed, Oct 08, 2014 at 10:57:35PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- net/eth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/eth.c b/net/eth.c index 76ffa05..eac4f7b 100644 --- a/net/eth.c +++ b/net/eth.c @@ -153,7 +153,7 @@ static void eth_current_changed(void) setenv("ethact", NULL); }
-int eth_address_set(unsigned char *addr) +static int eth_address_set(unsigned char *addr) { return memcmp(addr, "\0\0\0\0\0\0", 6); }

On Wed, Oct 08, 2014 at 10:57:36PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/gpio/bcm2835_gpio.c | 2 +- drivers/gpio/kw_gpio.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpio/bcm2835_gpio.c b/drivers/gpio/bcm2835_gpio.c index 97b5137..4a473d7 100644 --- a/drivers/gpio/bcm2835_gpio.c +++ b/drivers/gpio/bcm2835_gpio.c @@ -9,7 +9,7 @@ #include <asm/gpio.h> #include <asm/io.h>
-inline int gpio_is_valid(unsigned gpio) +static inline int gpio_is_valid(unsigned gpio) { return (gpio < BCM2835_GPIO_COUNT); } diff --git a/drivers/gpio/kw_gpio.c b/drivers/gpio/kw_gpio.c index 0af75a8..d5a7e78 100644 --- a/drivers/gpio/kw_gpio.c +++ b/drivers/gpio/kw_gpio.c @@ -36,7 +36,7 @@ void __set_direction(unsigned pin, int input) u = readl(GPIO_IO_CONF(pin)); }
-void __set_level(unsigned pin, int high) +static void __set_level(unsigned pin, int high) { u32 u;
@@ -48,7 +48,7 @@ void __set_level(unsigned pin, int high) writel(u, GPIO_OUT(pin)); }
-void __set_blinking(unsigned pin, int blink) +static void __set_blinking(unsigned pin, int blink) { u32 u;

On Wed, Oct 08, 2014 at 10:57:37PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- common/image-fit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/image-fit.c b/common/image-fit.c index 255c4ca..8529cec 100644 --- a/common/image-fit.c +++ b/common/image-fit.c @@ -1434,7 +1434,7 @@ void fit_conf_print(const void *fit, int noffset, const char *p) printf("%s FDT: %s\n", p, uname); }
-int fit_image_select(const void *fit, int rd_noffset, int verify) +static int fit_image_select(const void *fit, int rd_noffset, int verify) { fit_image_print(fit, rd_noffset, " ");

On Wed, Oct 08, 2014 at 10:57:38PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- lib/lmb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/lmb.c b/lib/lmb.c index 41a2be4..031f0e1 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -236,7 +236,7 @@ long lmb_reserve(struct lmb *lmb, phys_addr_t base, phys_size_t size) return lmb_add_region(_rgn, base, size); }
-long lmb_overlaps_region(struct lmb_region *rgn, phys_addr_t base, +static long lmb_overlaps_region(struct lmb_region *rgn, phys_addr_t base, phys_size_t size) { unsigned long i;

On Wed, Oct 08, 2014 at 10:57:39PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/net/fec_mxc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index 549d648..b572470 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -11,6 +11,7 @@ #include <common.h> #include <malloc.h> #include <net.h> +#include <netdev.h> #include <miiphy.h> #include "fec_mxc.h"
@@ -179,13 +180,14 @@ static int fec_mdio_write(struct ethernet_regs *eth, uint8_t phyAddr, return 0; }
-int fec_phy_read(struct mii_dev *bus, int phyAddr, int dev_addr, int regAddr) +static int fec_phy_read(struct mii_dev *bus, int phyAddr, int dev_addr, + int regAddr) { return fec_mdio_read(bus->priv, phyAddr, regAddr); }
-int fec_phy_write(struct mii_dev *bus, int phyAddr, int dev_addr, int regAddr, - u16 data) +static int fec_phy_write(struct mii_dev *bus, int phyAddr, int dev_addr, + int regAddr, u16 data) { return fec_mdio_write(bus->priv, phyAddr, regAddr, data); }

On Wed, Oct 08, 2014 at 10:57:40PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/cpu/armv7/omap3/board.c | 2 +- arch/arm/cpu/armv7/omap3/emif4.c | 2 +- arch/arm/cpu/armv7/omap3/sys_info.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm/cpu/armv7/omap3/board.c b/arch/arm/cpu/armv7/omap3/board.c index 667e77f..08f8363 100644 --- a/arch/arm/cpu/armv7/omap3/board.c +++ b/arch/arm/cpu/armv7/omap3/board.c @@ -266,7 +266,7 @@ int __weak misc_init_r(void) * Routine: wait_for_command_complete * Description: Wait for posting to finish on watchdog *****************************************************************************/ -void wait_for_command_complete(struct watchdog *wd_base) +static void wait_for_command_complete(struct watchdog *wd_base) { int pending = 1; do { diff --git a/arch/arm/cpu/armv7/omap3/emif4.c b/arch/arm/cpu/armv7/omap3/emif4.c index 6c7330a..a2aadc9 100644 --- a/arch/arm/cpu/armv7/omap3/emif4.c +++ b/arch/arm/cpu/armv7/omap3/emif4.c @@ -61,7 +61,7 @@ u32 get_sdr_cs_offset(u32 cs) * - Init the emif4 module for DDR access * - Early init routines, called from flash or SRAM. */ -void do_emif4_init(void) +static void do_emif4_init(void) { unsigned int regval; /* Set the DDR PHY parameters in PHY ctrl registers */ diff --git a/arch/arm/cpu/armv7/omap3/sys_info.c b/arch/arm/cpu/armv7/omap3/sys_info.c index bef5f05..ce254cf 100644 --- a/arch/arm/cpu/armv7/omap3/sys_info.c +++ b/arch/arm/cpu/armv7/omap3/sys_info.c @@ -202,7 +202,7 @@ u32 __weak get_board_rev(void) /******************************************************** * get_base(); get upper addr of current execution *******************************************************/ -u32 get_base(void) +static u32 get_base(void) { u32 val;

On Wed, Oct 08, 2014 at 10:57:41PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

- make omap_spl_dev_ready static - remove unused omap_reverse_list
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/mtd/nand/omap_gpmc.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-)
diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c index db1599e..928ec09 100644 --- a/drivers/mtd/nand/omap_gpmc.c +++ b/drivers/mtd/nand/omap_gpmc.c @@ -75,7 +75,7 @@ static void omap_nand_hwcontrol(struct mtd_info *mtd, int32_t cmd,
#ifdef CONFIG_SPL_BUILD /* Check wait pin as dev ready indicator */ -int omap_spl_dev_ready(struct mtd_info *mtd) +static int omap_spl_dev_ready(struct mtd_info *mtd) { return gpmc_cfg->status & (1 << 8); } @@ -162,23 +162,6 @@ static int __maybe_unused omap_correct_data(struct mtd_info *mtd, uint8_t *dat, }
/* - * omap_reverse_list - re-orders list elements in reverse order [internal] - * @list: pointer to start of list - * @length: length of list -*/ -void omap_reverse_list(u8 *list, unsigned int length) -{ - unsigned int i, j; - unsigned int half_length = length / 2; - u8 tmp; - for (i = 0, j = length - 1; i < half_length; i++, j--) { - tmp = list[i]; - list[i] = list[j]; - list[j] = tmp; - } -} - -/* * omap_enable_hwecc - configures GPMC as per ECC scheme before read/write * @mtd: MTD device structure * @mode: Read/Write mode

On Wed, Oct 08, 2014 at 10:57:42PM +0200, Jeroen Hofstee wrote:
- make omap_spl_dev_ready static
- remove unused omap_reverse_list
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
After moving omap_reverse_list to be under CONFIG_NAND_OMAP_ELM instead, applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/mmc/sdhci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index 3125d13..de88e19 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -124,7 +124,7 @@ static int sdhci_transfer_data(struct sdhci_host *host, struct mmc_data *data, #endif #define CONFIG_SDHCI_CMD_DEFAULT_TIMEOUT 100
-int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd, +static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) { struct sdhci_host *host = mmc->priv; @@ -355,7 +355,7 @@ static void sdhci_set_power(struct sdhci_host *host, unsigned short power) sdhci_writeb(host, pwr, SDHCI_POWER_CONTROL); }
-void sdhci_set_ios(struct mmc *mmc) +static void sdhci_set_ios(struct mmc *mmc) { u32 ctrl; struct sdhci_host *host = mmc->priv; @@ -393,7 +393,7 @@ void sdhci_set_ios(struct mmc *mmc) sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); }
-int sdhci_init(struct mmc *mmc) +static int sdhci_init(struct mmc *mmc) { struct sdhci_host *host = mmc->priv;

On Wed, Oct 08, 2014 at 10:57:43PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- common/stdio.c | 14 +++++++------- drivers/serial/serial.c | 8 ++++---- drivers/serial/serial_sh.c | 4 ++-- drivers/video/cfb_console.c | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/common/stdio.c b/common/stdio.c index 8232815..68c595d 100644 --- a/common/stdio.c +++ b/common/stdio.c @@ -39,39 +39,39 @@ char *stdio_names[MAX_FILES] = { "stdin", "stdout", "stderr" }; #endif
#ifdef CONFIG_SYS_DEVICE_NULLDEV -void nulldev_putc(struct stdio_dev *dev, const char c) +static void nulldev_putc(struct stdio_dev *dev, const char c) { /* nulldev is empty! */ }
-void nulldev_puts(struct stdio_dev *dev, const char *s) +static void nulldev_puts(struct stdio_dev *dev, const char *s) { /* nulldev is empty! */ }
-int nulldev_input(struct stdio_dev *dev) +static int nulldev_input(struct stdio_dev *dev) { /* nulldev is empty! */ return 0; } #endif
-void stdio_serial_putc(struct stdio_dev *dev, const char c) +static void stdio_serial_putc(struct stdio_dev *dev, const char c) { serial_putc(c); }
-void stdio_serial_puts(struct stdio_dev *dev, const char *s) +static void stdio_serial_puts(struct stdio_dev *dev, const char *s) { serial_puts(s); }
-int stdio_serial_getc(struct stdio_dev *dev) +static int stdio_serial_getc(struct stdio_dev *dev) { return serial_getc(); }
-int stdio_serial_tstc(struct stdio_dev *dev) +static int stdio_serial_tstc(struct stdio_dev *dev) { return serial_tstc(); } diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c index bbe60af..18e41b2 100644 --- a/drivers/serial/serial.c +++ b/drivers/serial/serial.c @@ -254,28 +254,28 @@ void serial_initialize(void) serial_assign(default_serial_console()->name); }
-int serial_stub_start(struct stdio_dev *sdev) +static int serial_stub_start(struct stdio_dev *sdev) { struct serial_device *dev = sdev->priv;
return dev->start(); }
-int serial_stub_stop(struct stdio_dev *sdev) +static int serial_stub_stop(struct stdio_dev *sdev) { struct serial_device *dev = sdev->priv;
return dev->stop(); }
-void serial_stub_putc(struct stdio_dev *sdev, const char ch) +static void serial_stub_putc(struct stdio_dev *sdev, const char ch) { struct serial_device *dev = sdev->priv;
dev->putc(ch); }
-void serial_stub_puts(struct stdio_dev *sdev, const char *str) +static void serial_stub_puts(struct stdio_dev *sdev, const char *str) { struct serial_device *dev = sdev->priv;
diff --git a/drivers/serial/serial_sh.c b/drivers/serial/serial_sh.c index 144a925..7c1f271 100644 --- a/drivers/serial/serial_sh.c +++ b/drivers/serial/serial_sh.c @@ -122,7 +122,7 @@ static void handle_error(void) sci_out(&sh_sci, SCLSR, 0x00); }
-void serial_raw_putc(const char c) +static void serial_raw_putc(const char c) { while (1) { /* Tx fifo is empty */ @@ -152,7 +152,7 @@ static int sh_serial_tstc(void) }
-int serial_getc_check(void) +static int serial_getc_check(void) { unsigned short status;
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c index 8567231..6aa50cb 100644 --- a/drivers/video/cfb_console.c +++ b/drivers/video/cfb_console.c @@ -944,7 +944,7 @@ static void parse_putc(const char c) CURSOR_SET; }
-void video_putc(struct stdio_dev *dev, const char c) +static void video_putc(struct stdio_dev *dev, const char c) { #ifdef CONFIG_CFB_CONSOLE_ANSI int i; @@ -1158,7 +1158,7 @@ void video_putc(struct stdio_dev *dev, const char c) flush_cache(VIDEO_FB_ADRS, VIDEO_SIZE); }
-void video_puts(struct stdio_dev *dev, const char *s) +static void video_puts(struct stdio_dev *dev, const char *s) { int count = strlen(s);

On Wed, Oct 08, 2014 at 10:57:44PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/power/power_spi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/power/power_spi.c b/drivers/power/power_spi.c index fb455a0..0560ea5 100644 --- a/drivers/power/power_spi.c +++ b/drivers/power/power_spi.c @@ -17,13 +17,13 @@
static struct spi_slave *slave;
-void pmic_spi_free(struct spi_slave *slave) +static void pmic_spi_free(struct spi_slave *slave) { if (slave) spi_free_slave(slave); }
-struct spi_slave *pmic_spi_probe(struct pmic *p) +static struct spi_slave *pmic_spi_probe(struct pmic *p) { return spi_setup_slave(p->bus, p->hw.spi.cs,

On Wed, Oct 08, 2014 at 10:57:45PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
drivers/power/power_spi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/power/power_spi.c b/drivers/power/power_spi.c index fb455a0..0560ea5 100644 --- a/drivers/power/power_spi.c +++ b/drivers/power/power_spi.c @@ -17,13 +17,13 @@
static struct spi_slave *slave;
-void pmic_spi_free(struct spi_slave *slave) +static void pmic_spi_free(struct spi_slave *slave) { if (slave) spi_free_slave(slave); }
-struct spi_slave *pmic_spi_probe(struct pmic *p) +static struct spi_slave *pmic_spi_probe(struct pmic *p) { return spi_setup_slave(p->bus, p->hw.spi.cs,
So, this exposes some problems with the driver. pmic_spi_free isn't ever used, and shouldn't be. I'm going to take a stab at fixing things.

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/cpu/armv7/tegra20/display.c | 3 ++- arch/arm/cpu/tegra-common/sys_info.c | 2 +- board/nvidia/common/board.c | 43 ++++++------------------------------ board/nvidia/common/emc.c | 1 + board/nvidia/seaboard/seaboard.c | 1 + drivers/i2c/tegra_i2c.c | 7 +++--- drivers/input/tegra-kbc.c | 2 +- drivers/mmc/tegra_mmc.c | 3 ++- 8 files changed, 19 insertions(+), 43 deletions(-)
diff --git a/arch/arm/cpu/armv7/tegra20/display.c b/arch/arm/cpu/armv7/tegra20/display.c index fd77f3f..d98cec9 100644 --- a/arch/arm/cpu/armv7/tegra20/display.c +++ b/arch/arm/cpu/armv7/tegra20/display.c @@ -194,7 +194,8 @@ static void rgb_enable(struct dc_com_reg *com) writel(rgb_sel_tab[i], &com->pin_output_sel[i]); }
-int setup_window(struct disp_ctl_win *win, struct fdt_disp_config *config) +static int setup_window(struct disp_ctl_win *win, + struct fdt_disp_config *config) { win->x = 0; win->y = 0; diff --git a/arch/arm/cpu/tegra-common/sys_info.c b/arch/arm/cpu/tegra-common/sys_info.c index de20325..5933c35 100644 --- a/arch/arm/cpu/tegra-common/sys_info.c +++ b/arch/arm/cpu/tegra-common/sys_info.c @@ -8,7 +8,7 @@ #include <common.h> #include <linux/ctype.h>
-void upstring(char *s) +static void upstring(char *s) { while (*s) { *s = toupper(*s); diff --git a/board/nvidia/common/board.c b/board/nvidia/common/board.c index d01abce..f2fcf9a 100644 --- a/board/nvidia/common/board.c +++ b/board/nvidia/common/board.c @@ -47,46 +47,19 @@ const struct tegra_sysinfo sysinfo = { CONFIG_TEGRA_BOARD_STRING };
-void __pinmux_init(void) -{ -} - -void pinmux_init(void) __attribute__((weak, alias("__pinmux_init"))); - -void __pin_mux_usb(void) -{ -} - -void pin_mux_usb(void) __attribute__((weak, alias("__pin_mux_usb"))); - -void __pin_mux_spi(void) -{ -} - -void pin_mux_spi(void) __attribute__((weak, alias("__pin_mux_spi"))); - -void __gpio_early_init_uart(void) -{ -} - -void gpio_early_init_uart(void) -__attribute__((weak, alias("__gpio_early_init_uart"))); +__weak void pinmux_init(void) {} +__weak void pin_mux_usb(void) {} +__weak void pin_mux_spi(void) {} +__weak void gpio_early_init_uart(void) {} +__weak void pin_mux_display(void) {}
#if defined(CONFIG_TEGRA_NAND) -void __pin_mux_nand(void) +__weak void pin_mux_nand(void) { funcmux_select(PERIPH_ID_NDFLASH, FUNCMUX_DEFAULT); } - -void pin_mux_nand(void) __attribute__((weak, alias("__pin_mux_nand"))); #endif
-void __pin_mux_display(void) -{ -} - -void pin_mux_display(void) __attribute__((weak, alias("__pin_mux_display"))); - /* * Routine: power_det_init * Description: turn off power detects @@ -205,12 +178,10 @@ int board_late_init(void) }
#if defined(CONFIG_TEGRA_MMC) -void __pin_mux_mmc(void) +__weak void pin_mux_mmc(void) { }
-void pin_mux_mmc(void) __attribute__((weak, alias("__pin_mux_mmc"))); - /* this is a weak define that we are overriding */ int board_mmc_init(bd_t *bd) { diff --git a/board/nvidia/common/emc.c b/board/nvidia/common/emc.c index 8124f8a..8c62f36 100644 --- a/board/nvidia/common/emc.c +++ b/board/nvidia/common/emc.c @@ -5,6 +5,7 @@ */
#include <common.h> +#include "emc.h" #include <asm/io.h> #include <asm/arch/clock.h> #include <asm/arch/emc.h> diff --git a/board/nvidia/seaboard/seaboard.c b/board/nvidia/seaboard/seaboard.c index 6a243f0..11472eb 100644 --- a/board/nvidia/seaboard/seaboard.c +++ b/board/nvidia/seaboard/seaboard.c @@ -8,6 +8,7 @@ #include <common.h> #include <asm/io.h> #include <asm/arch/tegra.h> +#include <asm/arch-tegra/board.h> #include <asm/arch/clock.h> #include <asm/arch/funcmux.h> #include <asm/arch/gpio.h> diff --git a/drivers/i2c/tegra_i2c.c b/drivers/i2c/tegra_i2c.c index 257b72f..562211e 100644 --- a/drivers/i2c/tegra_i2c.c +++ b/drivers/i2c/tegra_i2c.c @@ -471,8 +471,8 @@ static void tegra_i2c_init(struct i2c_adapter *adap, int speed, int slaveaddr) }
/* i2c write version without the register address */ -int i2c_write_data(struct i2c_bus *bus, uchar chip, uchar *buffer, int len, - bool end_with_repeated_start) +static int i2c_write_data(struct i2c_bus *bus, uchar chip, uchar *buffer, + int len, bool end_with_repeated_start) { int rc;
@@ -493,7 +493,8 @@ int i2c_write_data(struct i2c_bus *bus, uchar chip, uchar *buffer, int len, }
/* i2c read version without the register address */ -int i2c_read_data(struct i2c_bus *bus, uchar chip, uchar *buffer, int len) +static int i2c_read_data(struct i2c_bus *bus, uchar chip, uchar *buffer, + int len) { int rc;
diff --git a/drivers/input/tegra-kbc.c b/drivers/input/tegra-kbc.c index 7e36db0..0ef94f7 100644 --- a/drivers/input/tegra-kbc.c +++ b/drivers/input/tegra-kbc.c @@ -181,7 +181,7 @@ static void kbd_wait_for_fifo_init(struct keyb *config) * @param input Input configuration * @return 1, to indicate that we have something to look at */ -int tegra_kbc_check(struct input_config *input) +static int tegra_kbc_check(struct input_config *input) { kbd_wait_for_fifo_init(&config); check_for_keys(&config); diff --git a/drivers/mmc/tegra_mmc.c b/drivers/mmc/tegra_mmc.c index ca9c4aa..015da59 100644 --- a/drivers/mmc/tegra_mmc.c +++ b/drivers/mmc/tegra_mmc.c @@ -13,6 +13,7 @@ #include <asm/io.h> #include <asm/arch/clock.h> #include <asm/arch-tegra/clk_rst.h> +#include <asm/arch-tegra/mmc.h> #include <asm/arch-tegra/tegra_mmc.h> #include <mmc.h>
@@ -508,7 +509,7 @@ static int tegra_mmc_core_init(struct mmc *mmc) return 0; }
-int tegra_mmc_getcd(struct mmc *mmc) +static int tegra_mmc_getcd(struct mmc *mmc) { struct mmc_host *host = mmc->priv;

On Wed, Oct 08, 2014 at 10:57:46PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

- make local functions static - remove unused is_interlaced function
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/video/ipu_common.c | 2 +- drivers/video/ipu_disp.c | 17 +++-------------- drivers/video/mxc_ipuv3_fb.c | 2 +- 3 files changed, 5 insertions(+), 16 deletions(-)
diff --git a/drivers/video/ipu_common.c b/drivers/video/ipu_common.c index 8d4e925..5873531 100644 --- a/drivers/video/ipu_common.c +++ b/drivers/video/ipu_common.c @@ -379,7 +379,7 @@ static struct clk pixel_clk[] = { /* * This function resets IPU */ -void ipu_reset(void) +static void ipu_reset(void) { u32 *reg; u32 value; diff --git a/drivers/video/ipu_disp.c b/drivers/video/ipu_disp.c index 948e1fc..400a3b2 100644 --- a/drivers/video/ipu_disp.c +++ b/drivers/video/ipu_disp.c @@ -377,7 +377,7 @@ static struct dp_csc_param_t dp_csc_array[CSC_NUM][CSC_NUM] = { static enum csc_type_t fg_csc_type = CSC_NONE, bg_csc_type = CSC_NONE; static int color_key_4rgb = 1;
-void ipu_dp_csc_setup(int dp, struct dp_csc_param_t dp_csc_param, +static void ipu_dp_csc_setup(int dp, struct dp_csc_param_t dp_csc_param, unsigned char srm_mode_update) { u32 reg; @@ -605,17 +605,6 @@ void ipu_dc_uninit(int dc_chan) } }
-int ipu_chan_is_interlaced(ipu_channel_t channel) -{ - if (channel == MEM_DC_SYNC) - return !!(__raw_readl(DC_WR_CH_CONF_1) & - DC_WR_CH_CONF_FIELD_MODE); - else if ((channel == MEM_BG_SYNC) || (channel == MEM_FG_SYNC)) - return !!(__raw_readl(DC_WR_CH_CONF_5) & - DC_WR_CH_CONF_FIELD_MODE); - return 0; -} - void ipu_dp_dc_enable(ipu_channel_t channel) { int di; @@ -782,7 +771,7 @@ void ipu_init_dc_mappings(void) ipu_dc_map_config(4, 2, 21, 0xFC); }
-int ipu_pixfmt_to_map(uint32_t fmt) +static int ipu_pixfmt_to_map(uint32_t fmt) { switch (fmt) { case IPU_PIX_FMT_GENERIC: @@ -804,7 +793,7 @@ int ipu_pixfmt_to_map(uint32_t fmt) /* * This function is called to adapt synchronous LCD panel to IPU restriction. */ -void adapt_panel_to_ipu_restricitions(uint32_t *pixel_clk, +static void adapt_panel_to_ipu_restricitions(uint32_t *pixel_clk, uint16_t width, uint16_t height, uint16_t h_start_width, uint16_t h_end_width, diff --git a/drivers/video/mxc_ipuv3_fb.c b/drivers/video/mxc_ipuv3_fb.c index f75d770..00bb101 100644 --- a/drivers/video/mxc_ipuv3_fb.c +++ b/drivers/video/mxc_ipuv3_fb.c @@ -36,7 +36,7 @@ static struct fb_videomode const *gmode; static uint8_t gdisp; static uint32_t gpixfmt;
-void fb_videomode_to_var(struct fb_var_screeninfo *var, +static void fb_videomode_to_var(struct fb_var_screeninfo *var, const struct fb_videomode *mode) { var->xres = mode->xres;

On Wed, Oct 08, 2014 at 10:57:47PM +0200, Jeroen Hofstee wrote:
- make local functions static
- remove unused is_interlaced function
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

search_device is declared in iomux, but console only had the definition. This prevents a warning.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- common/console.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/common/console.c b/common/console.c index 5a2f411..4695386 100644 --- a/common/console.c +++ b/common/console.c @@ -7,6 +7,7 @@
#include <common.h> #include <stdarg.h> +#include <iomux.h> #include <malloc.h> #include <os.h> #include <serial.h> @@ -621,7 +622,7 @@ inline void dbg(const char *fmt, ...)
} #else -inline void dbg(const char *fmt, ...) +static inline void dbg(const char *fmt, ...) { } #endif

On Wed, Oct 08, 2014 at 10:57:48PM +0200, Jeroen Hofstee wrote:
search_device is declared in iomux, but console only had the definition. This prevents a warning.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- include/linux/string.h | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/include/linux/string.h b/include/linux/string.h index 8e44855..96348d6 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -20,6 +20,10 @@ extern __kernel_size_t strspn(const char *,const char *); */ #include <asm/string.h>
+#ifndef __HAVE_ARCH_BCOPY +char *bcopy(const char *src, char *dest, int count); +#endif + #ifndef __HAVE_ARCH_STRCPY extern char * strcpy(char *,const char *); #endif @@ -89,6 +93,9 @@ extern void * memchr(const void *,int,__kernel_size_t); void *memchr_inv(const void *, int, size_t); #endif
+unsigned long ustrtoul(const char *cp, char **endp, unsigned int base); +unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base); + #ifdef __cplusplus } #endif

On Wed, Oct 08, 2014 at 10:57:49PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

mxs_wait_mask_set and friends need a declaration of struct mxs_register_32.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/include/asm/arch-mxs/sys_proto.h | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/arm/include/asm/arch-mxs/sys_proto.h b/arch/arm/include/asm/arch-mxs/sys_proto.h index 09dfc90..062f3de 100644 --- a/arch/arm/include/asm/arch-mxs/sys_proto.h +++ b/arch/arm/include/asm/arch-mxs/sys_proto.h @@ -10,6 +10,8 @@ #ifndef __SYS_PROTO_H__ #define __SYS_PROTO_H__
+#include <asm/imx-common/regs-common.h> + int mxs_reset_block(struct mxs_register_32 *reg); int mxs_wait_mask_set(struct mxs_register_32 *reg, uint32_t mask,

On Wed, Oct 08, 2014 at 10:57:50PM +0200, Jeroen Hofstee wrote:
mxs_wait_mask_set and friends need a declaration of struct mxs_register_32.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- common/cmd_elf.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/common/cmd_elf.c b/common/cmd_elf.c index 2f229d7..8de8e81 100644 --- a/common/cmd_elf.c +++ b/common/cmd_elf.c @@ -13,6 +13,7 @@ * purpose. */
+#include <bootm.h> #include <common.h> #include <command.h> #include <linux/ctype.h>

On Wed, Oct 08, 2014 at 10:57:51PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/cpu/armv7/mx6/soc.c | 1 + arch/arm/imx-common/cpu.c | 2 ++ arch/arm/imx-common/misc.c | 1 + 3 files changed, 4 insertions(+)
diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c index ba21cfe..3acada5 100644 --- a/arch/arm/cpu/armv7/mx6/soc.c +++ b/arch/arm/cpu/armv7/mx6/soc.c @@ -9,6 +9,7 @@
#include <common.h> #include <asm/armv7.h> +#include <asm/bootm.h> #include <asm/pl310.h> #include <asm/errno.h> #include <asm/io.h> diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c index ed826a0..09fc227 100644 --- a/arch/arm/imx-common/cpu.c +++ b/arch/arm/imx-common/cpu.c @@ -7,7 +7,9 @@ * SPDX-License-Identifier: GPL-2.0+ */
+#include <bootm.h> #include <common.h> +#include <netdev.h> #include <asm/errno.h> #include <asm/io.h> #include <asm/arch/imx-regs.h> diff --git a/arch/arm/imx-common/misc.c b/arch/arm/imx-common/misc.c index dbecf4e..12256a3 100644 --- a/arch/arm/imx-common/misc.c +++ b/arch/arm/imx-common/misc.c @@ -5,6 +5,7 @@ */
#include <common.h> +#include <asm/arch/sys_proto.h> #include <asm/errno.h> #include <asm/io.h> #include <asm/imx-common/regs-common.h>

On Wed, Oct 08, 2014 at 10:57:52PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/cpu/arm926ejs/at91/led.c | 1 + arch/arm/lib/board.c | 1 + board/atmel/at91rm9200ek/led.c | 1 + board/atmel/at91sam9260ek/led.c | 1 + 4 files changed, 4 insertions(+)
diff --git a/arch/arm/cpu/arm926ejs/at91/led.c b/arch/arm/cpu/arm926ejs/at91/led.c index 46ed055..b8d5c78 100644 --- a/arch/arm/cpu/arm926ejs/at91/led.c +++ b/arch/arm/cpu/arm926ejs/at91/led.c @@ -9,6 +9,7 @@ #include <common.h> #include <asm/gpio.h> #include <asm/arch/gpio.h> +#include <status_led.h>
#ifdef CONFIG_RED_LED void red_led_on(void) diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index 98782ca..f606255 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -34,6 +34,7 @@ #include <onenand_uboot.h> #include <mmc.h> #include <scsi.h> +#include <status_led.h> #include <libfdt.h> #include <fdtdec.h> #include <post.h> diff --git a/board/atmel/at91rm9200ek/led.c b/board/atmel/at91rm9200ek/led.c index 2298e36..6761b14 100644 --- a/board/atmel/at91rm9200ek/led.c +++ b/board/atmel/at91rm9200ek/led.c @@ -14,6 +14,7 @@ #include <asm/arch/hardware.h> #include <asm/arch/at91_pmc.h> #include <asm/arch/at91_pio.h> +#include <status_led.h>
/* bit mask in PIO port B */ #define GREEN_LED (1<<0) diff --git a/board/atmel/at91sam9260ek/led.c b/board/atmel/at91sam9260ek/led.c index 56d811c..fbe15af 100644 --- a/board/atmel/at91sam9260ek/led.c +++ b/board/atmel/at91sam9260ek/led.c @@ -9,6 +9,7 @@ #include <common.h> #include <asm/io.h> #include <asm/arch/gpio.h> +#include <status_led.h>
void coloured_LED_init(void) {

On Wed, Oct 08, 2014 at 10:57:53PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

since the vxworks weaks are reimplement make sure their prototypes are visible.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/lib/bootm.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c index 39fe7a1..0d19c8a 100644 --- a/arch/arm/lib/bootm.c +++ b/arch/arm/lib/bootm.c @@ -15,6 +15,7 @@ #include <common.h> #include <command.h> #include <image.h> +#include <vxworks.h> #include <u-boot/zlib.h> #include <asm/byteorder.h> #include <libfdt.h>

On Wed, Oct 08, 2014 at 10:57:54PM +0200, Jeroen Hofstee wrote:
since the vxworks weaks are reimplement make sure their prototypes are visible.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/mmc/bcm2835_sdhci.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/mmc/bcm2835_sdhci.c b/drivers/mmc/bcm2835_sdhci.c index 82079d6..92f7d89 100644 --- a/drivers/mmc/bcm2835_sdhci.c +++ b/drivers/mmc/bcm2835_sdhci.c @@ -40,6 +40,7 @@ #include <malloc.h> #include <sdhci.h> #include <asm/arch/timer.h> +#include <asm/arch-bcm2835/sdhci.h>
/* 400KHz is max freq for card ID etc. Use that as min */ #define MIN_FREQ 400000

On Wed, Oct 08, 2014 at 10:57:55PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/net/davinci_emac.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index 439f8ae..08bc1af 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c @@ -27,6 +27,7 @@ #include <net.h> #include <miiphy.h> #include <malloc.h> +#include <netdev.h> #include <linux/compiler.h> #include <asm/arch/emac_defs.h> #include <asm/io.h>

On Wed, Oct 08, 2014 at 10:57:56PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/cpu/armv7/omap3/board.c | 1 + arch/arm/cpu/armv7/omap3/sys_info.c | 2 ++ arch/arm/include/asm/arch-omap3/sys_proto.h | 1 + 3 files changed, 4 insertions(+)
diff --git a/arch/arm/cpu/armv7/omap3/board.c b/arch/arm/cpu/armv7/omap3/board.c index 08f8363..a1c5b09 100644 --- a/arch/arm/cpu/armv7/omap3/board.c +++ b/arch/arm/cpu/armv7/omap3/board.c @@ -17,6 +17,7 @@ * SPDX-License-Identifier: GPL-2.0+ */ #include <common.h> +#include <mmc.h> #include <spl.h> #include <asm/io.h> #include <asm/arch/sys_proto.h> diff --git a/arch/arm/cpu/armv7/omap3/sys_info.c b/arch/arm/cpu/armv7/omap3/sys_info.c index ce254cf..bbb65bb 100644 --- a/arch/arm/cpu/armv7/omap3/sys_info.c +++ b/arch/arm/cpu/armv7/omap3/sys_info.c @@ -16,6 +16,8 @@ #include <asm/io.h> #include <asm/arch/mem.h> /* get mem tables */ #include <asm/arch/sys_proto.h> +#include <asm/bootm.h> + #include <i2c.h> #include <linux/compiler.h>
diff --git a/arch/arm/include/asm/arch-omap3/sys_proto.h b/arch/arm/include/asm/arch-omap3/sys_proto.h index 5866bf2..34bd8c5 100644 --- a/arch/arm/include/asm/arch-omap3/sys_proto.h +++ b/arch/arm/include/asm/arch-omap3/sys_proto.h @@ -64,6 +64,7 @@ void try_unlock_memory(void); u32 get_boot_type(void); void invalidate_dcache(u32); u32 wait_on_value(u32, u32, void *, u32); +void cancel_out(u32 *num, u32 *den, u32 den_limit); void sdelay(unsigned long); void make_cs1_contiguous(void); void omap_nand_switch_ecc(uint32_t, uint32_t);

On Wed, Oct 08, 2014 at 10:57:57PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- board/technexion/twister/twister.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/board/technexion/twister/twister.c b/board/technexion/twister/twister.c index 054e7cc..a4aed3b 100644 --- a/board/technexion/twister/twister.c +++ b/board/technexion/twister/twister.c @@ -16,6 +16,8 @@ #include <asm/omap_gpio.h> #include <asm/arch/mmc_host_def.h> #include <i2c.h> +#include <spl.h> +#include <mmc.h> #include <asm/gpio.h> #ifdef CONFIG_USB_EHCI #include <usb.h>

On Wed, Oct 08, 2014 at 10:57:58PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/include/asm/u-boot-arm.h | 15 +++++++++++++++ arch/arm/lib/interrupts.c | 1 + 2 files changed, 16 insertions(+)
diff --git a/arch/arm/include/asm/u-boot-arm.h b/arch/arm/include/asm/u-boot-arm.h index b16694c..f97f3dd 100644 --- a/arch/arm/include/asm/u-boot-arm.h +++ b/arch/arm/include/asm/u-boot-arm.h @@ -45,4 +45,19 @@ void reset_timer_masked (void); ulong get_timer_masked (void); void udelay_masked (unsigned long usec);
+/* calls to c from vectors.S */ +void bad_mode(void); +void do_undefined_instruction(struct pt_regs *pt_regs); +void do_software_interrupt(struct pt_regs *pt_regs); +void do_prefetch_abort(struct pt_regs *pt_regs); +void do_data_abort(struct pt_regs *pt_regs); +void do_not_used(struct pt_regs *pt_regs); +#ifdef CONFIG_ARM64 +void do_fiq(struct pt_regs *pt_regs, unsigned int esr); +void do_irq(struct pt_regs *pt_regs, unsigned int esr); +#else +void do_fiq(struct pt_regs *pt_regs); +void do_irq(struct pt_regs *pt_regswq); +#endif + #endif /* _U_BOOT_ARM_H_ */ diff --git a/arch/arm/lib/interrupts.c b/arch/arm/lib/interrupts.c index f6b7c03..9019736 100644 --- a/arch/arm/lib/interrupts.c +++ b/arch/arm/lib/interrupts.c @@ -21,6 +21,7 @@
#include <common.h> #include <asm/proc-armv/ptrace.h> +#include <asm/u-boot-arm.h>
DECLARE_GLOBAL_DATA_PTR;

Hi Jeroen,
On Wed, 8 Oct 2014 22:57:59 +0200, Jeroen Hofstee jeroen@myspectrum.nl wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
arch/arm/include/asm/u-boot-arm.h | 15 +++++++++++++++ arch/arm/lib/interrupts.c | 1 + 2 files changed, 16 insertions(+)
diff --git a/arch/arm/include/asm/u-boot-arm.h b/arch/arm/include/asm/u-boot-arm.h index b16694c..f97f3dd 100644 --- a/arch/arm/include/asm/u-boot-arm.h +++ b/arch/arm/include/asm/u-boot-arm.h @@ -45,4 +45,19 @@ void reset_timer_masked (void); ulong get_timer_masked (void); void udelay_masked (unsigned long usec);
+/* calls to c from vectors.S */ +void bad_mode(void); +void do_undefined_instruction(struct pt_regs *pt_regs); +void do_software_interrupt(struct pt_regs *pt_regs); +void do_prefetch_abort(struct pt_regs *pt_regs); +void do_data_abort(struct pt_regs *pt_regs); +void do_not_used(struct pt_regs *pt_regs); +#ifdef CONFIG_ARM64 +void do_fiq(struct pt_regs *pt_regs, unsigned int esr); +void do_irq(struct pt_regs *pt_regs, unsigned int esr); +#else +void do_fiq(struct pt_regs *pt_regs); +void do_irq(struct pt_regs *pt_regswq); +#endif
#endif /* _U_BOOT_ARM_H_ */ diff --git a/arch/arm/lib/interrupts.c b/arch/arm/lib/interrupts.c index f6b7c03..9019736 100644 --- a/arch/arm/lib/interrupts.c +++ b/arch/arm/lib/interrupts.c @@ -21,6 +21,7 @@
#include <common.h> #include <asm/proc-armv/ptrace.h> +#include <asm/u-boot-arm.h>
DECLARE_GLOBAL_DATA_PTR;
Acked-by: Albert ARIBAUD albert.u.boot@aribaud.net
Amicalement,

On Wed, Oct 08, 2014 at 10:57:59PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl Acked-by: Albert ARIBAUD albert.u.boot@aribaud.net
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- include/bootm.h | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/include/bootm.h b/include/bootm.h index 694d6fc..b3d1a62 100644 --- a/include/bootm.h +++ b/include/bootm.h @@ -54,4 +54,6 @@ int bootm_find_ramdisk_fdt(int flag, int argc, char * const argv[]); int do_bootm_states(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[], int states, bootm_headers_t *images, int boot_progress);
+void arch_preboot_os(void); + #endif

On Wed, Oct 08, 2014 at 10:58:00PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- board/w7o/fsboot.c | 3 +-- include/elf.h | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/board/w7o/fsboot.c b/board/w7o/fsboot.c index 25fbb55..8f4fe31 100644 --- a/board/w7o/fsboot.c +++ b/board/w7o/fsboot.c @@ -8,12 +8,11 @@ #include <common.h> #include <config.h> #include <command.h> +#include <elf.h>
/* * FIXME: Add code to test image and it's header. */ -extern int valid_elf_image (unsigned long addr); - static int image_check(ulong addr) { diff --git a/include/elf.h b/include/elf.h index b8ecc41..63d9341 100644 --- a/include/elf.h +++ b/include/elf.h @@ -570,4 +570,6 @@ unsigned long elf_hash(const unsigned char *name); that may still be in object files. */ #define R_PPC_TOC16 255
+int valid_elf_image(unsigned long addr); + #endif /* _ELF_H */

On Wed, Oct 08, 2014 at 10:58:01PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- include/fdt_support.h | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/include/fdt_support.h b/include/fdt_support.h index c3d1fbc..55cef94 100644 --- a/include/fdt_support.h +++ b/include/fdt_support.h @@ -144,6 +144,8 @@ static inline u64 of_read_number(const fdt32_t *cell, int size)
void of_bus_default_count_cells(void *blob, int parentoffset, int *addrc, int *sizec); +int ft_verify_fdt(void *fdt); +int arch_fixup_memory_node(void *blob);
#endif /* ifdef CONFIG_OF_LIBFDT */

On Wed, Oct 08, 2014 at 10:58:02PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- common/cmd_gpio.c | 2 +- include/asm-generic/gpio.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/common/cmd_gpio.c b/common/cmd_gpio.c index 11f4e40..8d946f4 100644 --- a/common/cmd_gpio.c +++ b/common/cmd_gpio.c @@ -12,7 +12,7 @@ #include <dm.h> #include <asm/gpio.h>
-int __weak name_to_gpio(const char *name) +__weak int name_to_gpio(const char *name) { return simple_strtoul(name, NULL, 10); } diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h index 60539d8..82100ed 100644 --- a/include/asm-generic/gpio.h +++ b/include/asm-generic/gpio.h @@ -193,4 +193,6 @@ const char *gpio_get_bank_info(struct udevice *dev, int *offset_count); int gpio_lookup_name(const char *name, struct udevice **devp, unsigned int *offsetp, unsigned int *gpiop);
+int name_to_gpio(const char *name); + #endif /* _ASM_GENERIC_GPIO_H_ */

On Wed, Oct 08, 2014 at 10:58:03PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- include/ide.h | 1 + 1 file changed, 1 insertion(+)
diff --git a/include/ide.h b/include/ide.h index c2a48e0..d5e05e9 100644 --- a/include/ide.h +++ b/include/ide.h @@ -23,6 +23,7 @@ extern ulong ide_bus_offset[]; #define LED_IDE2 0x02 #define DEVICE_LED(d) ((d & 2) | ((d & 2) == 0)) /* depends on bit positions! */
+void ide_led(uchar led, uchar status); #endif /* CONFIG_IDE_LED */
#ifdef CONFIG_SYS_64BIT_LBA

On Wed, Oct 08, 2014 at 10:58:04PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- include/mmc.h | 1 + 1 file changed, 1 insertion(+)
diff --git a/include/mmc.h b/include/mmc.h index 7f5f9bc..d74a190 100644 --- a/include/mmc.h +++ b/include/mmc.h @@ -387,6 +387,7 @@ int mmc_legacy_init(int verbose);
int board_mmc_init(bd_t *bis); int cpu_mmc_init(bd_t *bis); +int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr);
/* Set block count limit because of 16 bit register limit on some hardware*/ #ifndef CONFIG_SYS_MMC_MAX_BLK_COUNT

On Wed, Oct 08, 2014 at 10:58:05PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

While at it, sort them.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/serial/serial.c | 141 ++++++++++++++++++++++++------------------------ include/serial.h | 49 +++++++++++++++++ 2 files changed, 120 insertions(+), 70 deletions(-)
diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c index 18e41b2..60264ab 100644 --- a/drivers/serial/serial.c +++ b/drivers/serial/serial.c @@ -109,54 +109,55 @@ U_BOOT_ENV_CALLBACK(baudrate, on_baudrate); void name(void) \ __attribute__((weak, alias("serial_null")));
-serial_initfunc(mpc8xx_serial_initialize); -serial_initfunc(ns16550_serial_initialize); -serial_initfunc(pxa_serial_initialize); -serial_initfunc(s3c24xx_serial_initialize); -serial_initfunc(s5p_serial_initialize); -serial_initfunc(zynq_serial_initialize); -serial_initfunc(bfin_serial_initialize); -serial_initfunc(bfin_jtag_initialize); -serial_initfunc(mpc512x_serial_initialize); -serial_initfunc(uartlite_serial_initialize); -serial_initfunc(au1x00_serial_initialize); -serial_initfunc(asc_serial_initialize); -serial_initfunc(jz_serial_initialize); -serial_initfunc(mpc5xx_serial_initialize); -serial_initfunc(mpc8260_scc_serial_initialize); -serial_initfunc(mpc8260_smc_serial_initialize); -serial_initfunc(mpc85xx_serial_initialize); -serial_initfunc(iop480_serial_initialize); -serial_initfunc(leon2_serial_initialize); -serial_initfunc(leon3_serial_initialize); -serial_initfunc(marvell_serial_initialize); +serial_initfunc(altera_jtag_serial_initialize); +serial_initfunc(altera_serial_initialize); serial_initfunc(amirix_serial_initialize); +serial_initfunc(arc_serial_initialize); +serial_initfunc(arm_dcc_initialize); +serial_initfunc(asc_serial_initialize); +serial_initfunc(atmel_serial_initialize); +serial_initfunc(au1x00_serial_initialize); +serial_initfunc(bfin_jtag_initialize); +serial_initfunc(bfin_serial_initialize); serial_initfunc(bmw_serial_initialize); +serial_initfunc(clps7111_serial_initialize); serial_initfunc(cogent_serial_initialize); serial_initfunc(cpci750_serial_initialize); serial_initfunc(evb64260_serial_initialize); -serial_initfunc(ml2_serial_initialize); -serial_initfunc(sconsole_serial_initialize); -serial_initfunc(p3mx_serial_initialize); -serial_initfunc(altera_jtag_serial_initialize); -serial_initfunc(altera_serial_initialize); -serial_initfunc(atmel_serial_initialize); -serial_initfunc(lpc32xx_serial_initialize); -serial_initfunc(mcf_serial_initialize); -serial_initfunc(oc_serial_initialize); -serial_initfunc(sandbox_serial_initialize); -serial_initfunc(clps7111_serial_initialize); serial_initfunc(imx_serial_initialize); +serial_initfunc(iop480_serial_initialize); +serial_initfunc(jz_serial_initialize); serial_initfunc(ks8695_serial_initialize); +serial_initfunc(leon2_serial_initialize); +serial_initfunc(leon3_serial_initialize); serial_initfunc(lh7a40x_serial_initialize); +serial_initfunc(lpc32xx_serial_initialize); +serial_initfunc(marvell_serial_initialize); serial_initfunc(max3100_serial_initialize); +serial_initfunc(mcf_serial_initialize); +serial_initfunc(ml2_serial_initialize); +serial_initfunc(mpc512x_serial_initialize); +serial_initfunc(mpc5xx_serial_initialize); +serial_initfunc(mpc8260_scc_serial_initialize); +serial_initfunc(mpc8260_smc_serial_initialize); +serial_initfunc(mpc85xx_serial_initialize); +serial_initfunc(mpc8xx_serial_initialize); serial_initfunc(mxc_serial_initialize); +serial_initfunc(mxs_auart_initialize); +serial_initfunc(ns16550_serial_initialize); +serial_initfunc(oc_serial_initialize); +serial_initfunc(p3mx_serial_initialize); serial_initfunc(pl01x_serial_initialize); +serial_initfunc(pxa_serial_initialize); +serial_initfunc(s3c24xx_serial_initialize); +serial_initfunc(s5p_serial_initialize); serial_initfunc(sa1100_serial_initialize); +serial_initfunc(sandbox_serial_initialize); +serial_initfunc(sconsole_serial_initialize); serial_initfunc(sh_serial_initialize); -serial_initfunc(arm_dcc_initialize); -serial_initfunc(mxs_auart_initialize); -serial_initfunc(arc_serial_initialize); +serial_initfunc(uartlite_serial_initialize); +serial_initfunc(zynq_serial_initialize); +
/** * serial_register() - Register serial driver with serial driver core @@ -202,54 +203,54 @@ void serial_register(struct serial_device *dev) */ void serial_initialize(void) { - mpc8xx_serial_initialize(); - ns16550_serial_initialize(); - pxa_serial_initialize(); - s3c24xx_serial_initialize(); - s5p_serial_initialize(); - mpc512x_serial_initialize(); - bfin_serial_initialize(); - bfin_jtag_initialize(); - uartlite_serial_initialize(); - zynq_serial_initialize(); - au1x00_serial_initialize(); - asc_serial_initialize(); - jz_serial_initialize(); - mpc5xx_serial_initialize(); - mpc8260_scc_serial_initialize(); - mpc8260_smc_serial_initialize(); - mpc85xx_serial_initialize(); - iop480_serial_initialize(); - leon2_serial_initialize(); - leon3_serial_initialize(); - marvell_serial_initialize(); + altera_jtag_serial_initialize(); + altera_serial_initialize(); amirix_serial_initialize(); + arc_serial_initialize(); + arm_dcc_initialize(); + asc_serial_initialize(); + atmel_serial_initialize(); + au1x00_serial_initialize(); + bfin_jtag_initialize(); + bfin_serial_initialize(); bmw_serial_initialize(); + clps7111_serial_initialize(); cogent_serial_initialize(); cpci750_serial_initialize(); evb64260_serial_initialize(); - ml2_serial_initialize(); - sconsole_serial_initialize(); - p3mx_serial_initialize(); - altera_jtag_serial_initialize(); - altera_serial_initialize(); - atmel_serial_initialize(); - lpc32xx_serial_initialize(); - mcf_serial_initialize(); - oc_serial_initialize(); - sandbox_serial_initialize(); - clps7111_serial_initialize(); imx_serial_initialize(); + iop480_serial_initialize(); + jz_serial_initialize(); ks8695_serial_initialize(); + leon2_serial_initialize(); + leon3_serial_initialize(); lh7a40x_serial_initialize(); + lpc32xx_serial_initialize(); + marvell_serial_initialize(); max3100_serial_initialize(); + mcf_serial_initialize(); + ml2_serial_initialize(); + mpc512x_serial_initialize(); + mpc5xx_serial_initialize(); + mpc8260_scc_serial_initialize(); + mpc8260_smc_serial_initialize(); + mpc85xx_serial_initialize(); + mpc8xx_serial_initialize(); mxc_serial_initialize(); + mxs_auart_initialize(); + ns16550_serial_initialize(); + oc_serial_initialize(); + p3mx_serial_initialize(); pl01x_serial_initialize(); + pxa_serial_initialize(); + s3c24xx_serial_initialize(); + s5p_serial_initialize(); sa1100_serial_initialize(); + sandbox_serial_initialize(); + sconsole_serial_initialize(); sh_serial_initialize(); - arm_dcc_initialize(); - mxs_auart_initialize(); - arc_serial_initialize(); + uartlite_serial_initialize(); + zynq_serial_initialize();
serial_assign(default_serial_console()->name); } diff --git a/include/serial.h b/include/serial.h index 8f574e4..66ed12c 100644 --- a/include/serial.h +++ b/include/serial.h @@ -164,4 +164,53 @@ struct serial_dev_priv { /* Access the serial operations for a device */ #define serial_get_ops(dev) ((struct dm_serial_ops *)(dev)->driver->ops)
+void altera_jtag_serial_initialize(void); +void altera_serial_initialize(void); +void amirix_serial_initialize(void); +void arc_serial_initialize(void); +void arm_dcc_initialize(void); +void asc_serial_initialize(void); +void atmel_serial_initialize(void); +void au1x00_serial_initialize(void); +void bfin_jtag_initialize(void); +void bfin_serial_initialize(void); +void bmw_serial_initialize(void); +void clps7111_serial_initialize(void); +void cogent_serial_initialize(void); +void cpci750_serial_initialize(void); +void evb64260_serial_initialize(void); +void imx_serial_initialize(void); +void iop480_serial_initialize(void); +void jz_serial_initialize(void); +void ks8695_serial_initialize(void); +void leon2_serial_initialize(void); +void leon3_serial_initialize(void); +void lh7a40x_serial_initialize(void); +void lpc32xx_serial_initialize(void); +void marvell_serial_initialize(void); +void max3100_serial_initialize(void); +void mcf_serial_initialize(void); +void ml2_serial_initialize(void); +void mpc512x_serial_initialize(void); +void mpc5xx_serial_initialize(void); +void mpc8260_scc_serial_initialize(void); +void mpc8260_smc_serial_initialize(void); +void mpc85xx_serial_initialize(void); +void mpc8xx_serial_initialize(void); +void mxc_serial_initialize(void); +void mxs_auart_initialize(void); +void ns16550_serial_initialize(void); +void oc_serial_initialize(void); +void p3mx_serial_initialize(void); +void pl01x_serial_initialize(void); +void pxa_serial_initialize(void); +void s3c24xx_serial_initialize(void); +void s5p_serial_initialize(void); +void sa1100_serial_initialize(void); +void sandbox_serial_initialize(void); +void sconsole_serial_initialize(void); +void sh_serial_initialize(void); +void uartlite_serial_initialize(void); +void zynq_serial_initialize(void); + #endif

On Wed, Oct 08, 2014 at 10:58:06PM +0200, Jeroen Hofstee wrote:
While at it, sort them.
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
This doesn't apply currently, please re-base.

Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- include/spl.h | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/include/spl.h b/include/spl.h index a7e41da..cee251f 100644 --- a/include/spl.h +++ b/include/spl.h @@ -72,6 +72,8 @@ void spl_sata_load_image(void); int spl_load_image_fat(block_dev_desc_t *block_dev, int partition, const char *filename); int spl_load_image_fat_os(block_dev_desc_t *block_dev, int partition);
+void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image); + #ifdef CONFIG_SPL_BOARD_INIT void spl_board_init(void); #endif

On Wed, Oct 08, 2014 at 10:58:07PM +0200, Jeroen Hofstee wrote:
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

while at it, fix a typo
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/include/asm/arch-tegra/board.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/arch/arm/include/asm/arch-tegra/board.h b/arch/arm/include/asm/arch-tegra/board.h index ff77364..783bb3c 100644 --- a/arch/arm/include/asm/arch-tegra/board.h +++ b/arch/arm/include/asm/arch-tegra/board.h @@ -24,10 +24,11 @@ void gpio_early_init(void); /* overrideable GPIO config */ * an empty stub function will be called. */
-void pinmux_init(void); /* overrideable general pinmux setup */ -void pin_mux_usb(void); /* overrideable USB pinmux setup */ -void pin_mux_spi(void); /* overrideable SPI pinmux setup */ -void pin_mux_nand(void); /* overrideable NAND pinmux setup */ -void pin_mux_display(void); /* overrideable DISPLAY pinmux setup */ +void pinmux_init(void); /* overridable general pinmux setup */ +void pin_mux_usb(void); /* overridable USB pinmux setup */ +void pin_mux_spi(void); /* overridable SPI pinmux setup */ +void pin_mux_nand(void); /* overridable NAND pinmux setup */ +void pin_mux_mmc(void); /* overridable mmc pinmux setup */ +void pin_mux_display(void); /* overridable DISPLAY pinmux setup */
#endif

On Wed, Oct 08, 2014 at 10:58:08PM +0200, Jeroen Hofstee wrote:
while at it, fix a typo
Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

Include the i2c header and change the non confirming functions to do so.
Cc: Heiko Schocher hs@denx.de Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/i2c/designware_i2c.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/drivers/i2c/designware_i2c.c b/drivers/i2c/designware_i2c.c index c891ebd..eb43597 100644 --- a/drivers/i2c/designware_i2c.c +++ b/drivers/i2c/designware_i2c.c @@ -8,6 +8,7 @@ #include <common.h> #include <asm/io.h> #include "designware_i2c.h" +#include <i2c.h>
#ifdef CONFIG_I2C_MULTI_BUS static unsigned int bus_initialized[CONFIG_SYS_I2C_BUS_MAX]; @@ -76,16 +77,20 @@ static void set_speed(int i2c_spd) * * Set the i2c speed. */ -int i2c_set_bus_speed(int speed) +int i2c_set_bus_speed(unsigned int speed) { + int i2c_spd; + if (speed >= I2C_MAX_SPEED) - set_speed(IC_SPEED_MODE_MAX); + i2c_spd = IC_SPEED_MODE_MAX; else if (speed >= I2C_FAST_SPEED) - set_speed(IC_SPEED_MODE_FAST); + i2c_spd = IC_SPEED_MODE_FAST; else - set_speed(IC_SPEED_MODE_STANDARD); + i2c_spd = IC_SPEED_MODE_STANDARD;
- return 0; + set_speed(i2c_spd); + + return i2c_spd; }
/* @@ -93,7 +98,7 @@ int i2c_set_bus_speed(int speed) * * Gets the i2c speed. */ -int i2c_get_bus_speed(void) +unsigned int i2c_get_bus_speed(void) { u32 cntl;

Hello Jeroen,
Am 08.10.2014 22:58, schrieb Jeroen Hofstee:
Include the i2c header and change the non confirming functions to do so.
Cc: Heiko Schocherhs@denx.de Signed-off-by: Jeroen Hofsteejeroen@myspectrum.nl
drivers/i2c/designware_i2c.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-)
Acked-by: Heiko Schocher hs@denx.de
(It would be nice to see this driver also moved to the CONFIG_SYS_I2C framework ... seeing a "CONFIG_I2C_MULTI_BUS" define in it is very bad ...)
bye, Heiko

Hello Heiko,
On 09-10-14 07:05, Heiko Schocher wrote:
Hello Jeroen,
Am 08.10.2014 22:58, schrieb Jeroen Hofstee:
Include the i2c header and change the non confirming functions to do so.
Cc: Heiko Schocherhs@denx.de Signed-off-by: Jeroen Hofsteejeroen@myspectrum.nl
drivers/i2c/designware_i2c.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-)
Acked-by: Heiko Schocher hs@denx.de
(It would be nice to see this driver also moved to the CONFIG_SYS_I2C framework ... seeing a "CONFIG_I2C_MULTI_BUS" define in it is very bad ...)
Likely, but I happily leave that to someone who can actually test the code and has a better understanding of the (new?) i2c model ;)
Regards, Jeroen

On Wed, Oct 08, 2014 at 10:58:09PM +0200, Jeroen Hofstee wrote:
Include the i2c header and change the non confirming functions to do so.
Cc: Heiko Schocher hs@denx.de Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl Acked-by: Heiko Schocher hs@denx.de
After also fixing the i2c_get_bus_num prototype, applied to u-boot/master, thanks!

When compiling u-boot with W=1 there are numerous of warnings. This patchset attempts to reduce it a bit. One source of false warnings are the aliases missing a prototype, most of them are replaced with __weak functions. Others are cause by missing includes / local functions not be marked as such. At last some actual missing prototypes are added. These are (hopefully) just trivial patches, some less than trial is ahead of us.
v2: - rebase on master (most of this serie is applied, so remaining patches are numbered differently. - drop "PATCH 25/49 spi: make local functions static". Tom posted a more complete cleanup. - Drop common/cmd_elf.c: add missing include (a slightly adjusted version was applied). - split i2c: use __weak (included i2c and l2_cache) - redo serial: add prototypes for init functions
Jeroen Hofstee (3): i2c: use __weak arm926ejs: cache: use __weak serial: add prototypes for init functions
arch/arm/cpu/arm926ejs/cache.c | 5 +- drivers/i2c/i2c_core.c | 4 +- drivers/serial/serial.c | 140 ++++++++++++++++++++--------------------- include/serial.h | 49 +++++++++++++++ 4 files changed, 121 insertions(+), 77 deletions(-)

Acked-by: Heiko Schocher hs@denx.de Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/i2c/i2c_core.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/i2c/i2c_core.c b/drivers/i2c/i2c_core.c index 18d6736..7f63987 100644 --- a/drivers/i2c/i2c_core.c +++ b/drivers/i2c/i2c_core.c @@ -395,9 +395,7 @@ void i2c_reg_write(uint8_t addr, uint8_t reg, uint8_t val) i2c_write(addr, reg, 1, &val, 1); }
-void __i2c_init(int speed, int slaveaddr) +__weak void i2c_init(int speed, int slaveaddr) { i2c_init_bus(i2c_get_bus_num(), speed, slaveaddr); } -void i2c_init(int speed, int slaveaddr) - __attribute__((weak, alias("__i2c_init")));

Cc: Albert Aribaud albert.u.boot@aribaud.net Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- arch/arm/cpu/arm926ejs/cache.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/arch/arm/cpu/arm926ejs/cache.c b/arch/arm/cpu/arm926ejs/cache.c index e86c2ed..8d7873c 100644 --- a/arch/arm/cpu/arm926ejs/cache.c +++ b/arch/arm/cpu/arm926ejs/cache.c @@ -99,7 +99,4 @@ void flush_cache(unsigned long start, unsigned long size) /* * Stub implementations for l2 cache operations */ -void __l2_cache_disable(void) {} - -void l2_cache_disable(void) - __attribute__((weak, alias("__l2_cache_disable"))); +__weak void l2_cache_disable(void) {}

On Mon, Oct 27, 2014 at 08:10:06PM +0100, Jeroen Hofstee wrote:
Cc: Albert Aribaud albert.u.boot@aribaud.net Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

While at it, sort them.
Cc: Tom Rini trini@ti.com Cc: Simon Glass sjg@chromium.org Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/serial/serial.c | 140 ++++++++++++++++++++++++------------------------ include/serial.h | 49 +++++++++++++++++ 2 files changed, 119 insertions(+), 70 deletions(-)
diff --git a/drivers/serial/serial.c b/drivers/serial/serial.c index 18e41b2..95c992a 100644 --- a/drivers/serial/serial.c +++ b/drivers/serial/serial.c @@ -109,54 +109,54 @@ U_BOOT_ENV_CALLBACK(baudrate, on_baudrate); void name(void) \ __attribute__((weak, alias("serial_null")));
-serial_initfunc(mpc8xx_serial_initialize); -serial_initfunc(ns16550_serial_initialize); -serial_initfunc(pxa_serial_initialize); -serial_initfunc(s3c24xx_serial_initialize); -serial_initfunc(s5p_serial_initialize); -serial_initfunc(zynq_serial_initialize); -serial_initfunc(bfin_serial_initialize); -serial_initfunc(bfin_jtag_initialize); -serial_initfunc(mpc512x_serial_initialize); -serial_initfunc(uartlite_serial_initialize); -serial_initfunc(au1x00_serial_initialize); -serial_initfunc(asc_serial_initialize); -serial_initfunc(jz_serial_initialize); -serial_initfunc(mpc5xx_serial_initialize); -serial_initfunc(mpc8260_scc_serial_initialize); -serial_initfunc(mpc8260_smc_serial_initialize); -serial_initfunc(mpc85xx_serial_initialize); -serial_initfunc(iop480_serial_initialize); -serial_initfunc(leon2_serial_initialize); -serial_initfunc(leon3_serial_initialize); -serial_initfunc(marvell_serial_initialize); +serial_initfunc(altera_jtag_serial_initialize); +serial_initfunc(altera_serial_initialize); serial_initfunc(amirix_serial_initialize); +serial_initfunc(arc_serial_initialize); +serial_initfunc(arm_dcc_initialize); +serial_initfunc(asc_serial_initialize); +serial_initfunc(atmel_serial_initialize); +serial_initfunc(au1x00_serial_initialize); +serial_initfunc(bfin_jtag_initialize); +serial_initfunc(bfin_serial_initialize); serial_initfunc(bmw_serial_initialize); +serial_initfunc(clps7111_serial_initialize); serial_initfunc(cogent_serial_initialize); serial_initfunc(cpci750_serial_initialize); serial_initfunc(evb64260_serial_initialize); -serial_initfunc(ml2_serial_initialize); -serial_initfunc(sconsole_serial_initialize); -serial_initfunc(p3mx_serial_initialize); -serial_initfunc(altera_jtag_serial_initialize); -serial_initfunc(altera_serial_initialize); -serial_initfunc(atmel_serial_initialize); -serial_initfunc(lpc32xx_serial_initialize); -serial_initfunc(mcf_serial_initialize); -serial_initfunc(oc_serial_initialize); -serial_initfunc(sandbox_serial_initialize); -serial_initfunc(clps7111_serial_initialize); serial_initfunc(imx_serial_initialize); +serial_initfunc(iop480_serial_initialize); +serial_initfunc(jz_serial_initialize); serial_initfunc(ks8695_serial_initialize); +serial_initfunc(leon2_serial_initialize); +serial_initfunc(leon3_serial_initialize); serial_initfunc(lh7a40x_serial_initialize); +serial_initfunc(lpc32xx_serial_initialize); +serial_initfunc(marvell_serial_initialize); serial_initfunc(max3100_serial_initialize); +serial_initfunc(mcf_serial_initialize); +serial_initfunc(ml2_serial_initialize); +serial_initfunc(mpc512x_serial_initialize); +serial_initfunc(mpc5xx_serial_initialize); +serial_initfunc(mpc8260_scc_serial_initialize); +serial_initfunc(mpc8260_smc_serial_initialize); +serial_initfunc(mpc85xx_serial_initialize); +serial_initfunc(mpc8xx_serial_initialize); serial_initfunc(mxc_serial_initialize); +serial_initfunc(mxs_auart_initialize); +serial_initfunc(ns16550_serial_initialize); +serial_initfunc(oc_serial_initialize); +serial_initfunc(p3mx_serial_initialize); serial_initfunc(pl01x_serial_initialize); +serial_initfunc(pxa_serial_initialize); +serial_initfunc(s3c24xx_serial_initialize); +serial_initfunc(s5p_serial_initialize); serial_initfunc(sa1100_serial_initialize); +serial_initfunc(sandbox_serial_initialize); +serial_initfunc(sconsole_serial_initialize); serial_initfunc(sh_serial_initialize); -serial_initfunc(arm_dcc_initialize); -serial_initfunc(mxs_auart_initialize); -serial_initfunc(arc_serial_initialize); +serial_initfunc(uartlite_serial_initialize); +serial_initfunc(zynq_serial_initialize);
/** * serial_register() - Register serial driver with serial driver core @@ -202,54 +202,54 @@ void serial_register(struct serial_device *dev) */ void serial_initialize(void) { - mpc8xx_serial_initialize(); - ns16550_serial_initialize(); - pxa_serial_initialize(); - s3c24xx_serial_initialize(); - s5p_serial_initialize(); - mpc512x_serial_initialize(); - bfin_serial_initialize(); - bfin_jtag_initialize(); - uartlite_serial_initialize(); - zynq_serial_initialize(); - au1x00_serial_initialize(); - asc_serial_initialize(); - jz_serial_initialize(); - mpc5xx_serial_initialize(); - mpc8260_scc_serial_initialize(); - mpc8260_smc_serial_initialize(); - mpc85xx_serial_initialize(); - iop480_serial_initialize(); - leon2_serial_initialize(); - leon3_serial_initialize(); - marvell_serial_initialize(); + altera_jtag_serial_initialize(); + altera_serial_initialize(); amirix_serial_initialize(); + arc_serial_initialize(); + arm_dcc_initialize(); + asc_serial_initialize(); + atmel_serial_initialize(); + au1x00_serial_initialize(); + bfin_jtag_initialize(); + bfin_serial_initialize(); bmw_serial_initialize(); + clps7111_serial_initialize(); cogent_serial_initialize(); cpci750_serial_initialize(); evb64260_serial_initialize(); - ml2_serial_initialize(); - sconsole_serial_initialize(); - p3mx_serial_initialize(); - altera_jtag_serial_initialize(); - altera_serial_initialize(); - atmel_serial_initialize(); - lpc32xx_serial_initialize(); - mcf_serial_initialize(); - oc_serial_initialize(); - sandbox_serial_initialize(); - clps7111_serial_initialize(); imx_serial_initialize(); + iop480_serial_initialize(); + jz_serial_initialize(); ks8695_serial_initialize(); + leon2_serial_initialize(); + leon3_serial_initialize(); lh7a40x_serial_initialize(); + lpc32xx_serial_initialize(); + marvell_serial_initialize(); max3100_serial_initialize(); + mcf_serial_initialize(); + ml2_serial_initialize(); + mpc512x_serial_initialize(); + mpc5xx_serial_initialize(); + mpc8260_scc_serial_initialize(); + mpc8260_smc_serial_initialize(); + mpc85xx_serial_initialize(); + mpc8xx_serial_initialize(); mxc_serial_initialize(); + mxs_auart_initialize(); + ns16550_serial_initialize(); + oc_serial_initialize(); + p3mx_serial_initialize(); pl01x_serial_initialize(); + pxa_serial_initialize(); + s3c24xx_serial_initialize(); + s5p_serial_initialize(); sa1100_serial_initialize(); + sandbox_serial_initialize(); + sconsole_serial_initialize(); sh_serial_initialize(); - arm_dcc_initialize(); - mxs_auart_initialize(); - arc_serial_initialize(); + uartlite_serial_initialize(); + zynq_serial_initialize();
serial_assign(default_serial_console()->name); } diff --git a/include/serial.h b/include/serial.h index 8f574e4..66ed12c 100644 --- a/include/serial.h +++ b/include/serial.h @@ -164,4 +164,53 @@ struct serial_dev_priv { /* Access the serial operations for a device */ #define serial_get_ops(dev) ((struct dm_serial_ops *)(dev)->driver->ops)
+void altera_jtag_serial_initialize(void); +void altera_serial_initialize(void); +void amirix_serial_initialize(void); +void arc_serial_initialize(void); +void arm_dcc_initialize(void); +void asc_serial_initialize(void); +void atmel_serial_initialize(void); +void au1x00_serial_initialize(void); +void bfin_jtag_initialize(void); +void bfin_serial_initialize(void); +void bmw_serial_initialize(void); +void clps7111_serial_initialize(void); +void cogent_serial_initialize(void); +void cpci750_serial_initialize(void); +void evb64260_serial_initialize(void); +void imx_serial_initialize(void); +void iop480_serial_initialize(void); +void jz_serial_initialize(void); +void ks8695_serial_initialize(void); +void leon2_serial_initialize(void); +void leon3_serial_initialize(void); +void lh7a40x_serial_initialize(void); +void lpc32xx_serial_initialize(void); +void marvell_serial_initialize(void); +void max3100_serial_initialize(void); +void mcf_serial_initialize(void); +void ml2_serial_initialize(void); +void mpc512x_serial_initialize(void); +void mpc5xx_serial_initialize(void); +void mpc8260_scc_serial_initialize(void); +void mpc8260_smc_serial_initialize(void); +void mpc85xx_serial_initialize(void); +void mpc8xx_serial_initialize(void); +void mxc_serial_initialize(void); +void mxs_auart_initialize(void); +void ns16550_serial_initialize(void); +void oc_serial_initialize(void); +void p3mx_serial_initialize(void); +void pl01x_serial_initialize(void); +void pxa_serial_initialize(void); +void s3c24xx_serial_initialize(void); +void s5p_serial_initialize(void); +void sa1100_serial_initialize(void); +void sandbox_serial_initialize(void); +void sconsole_serial_initialize(void); +void sh_serial_initialize(void); +void uartlite_serial_initialize(void); +void zynq_serial_initialize(void); + #endif

On Mon, Oct 27, 2014 at 08:10:07PM +0100, Jeroen Hofstee wrote:
While at it, sort them.
Cc: Tom Rini trini@ti.com Cc: Simon Glass sjg@chromium.org Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!

When compiling u-boot with W=1 there are numerous of warnings. This patchset attempts to reduce it a bit. One source of false warnings are the aliases missing a prototype, most of them are replaced with __weak functions. Others are cause by missing includes / local functions not be marked as such. At last some actual missing prototypes are added. These are (hopefully) just trivial patches, some less than trial is ahead of us.
v3: - i2c did contain another alias function, i2c_init_board. This time the correct patch is squashed with it. Only this patch resend (1/3).
v2: - rebase on master (most of this serie is applied, so remaining patches are numbered differently. - drop "PATCH 25/49 spi: make local functions static". Tom posted a more complete cleanup. - Drop common/cmd_elf.c: add missing include (a slightly adjusted version was applied). - split i2c: use __weak (included i2c and l2_cache) - redo serial: add prototypes for init functions
Jeroen Hofstee (3): i2c: use __weak arm926ejs: cache: use __weak serial: add prototypes for init functions
arch/arm/cpu/arm926ejs/cache.c | 5 +- drivers/i2c/i2c_core.c | 8 +-- drivers/serial/serial.c | 140 ++++++++++++++++++++--------------------- include/serial.h | 49 +++++++++++++++ 4 files changed, 122 insertions(+), 80 deletions(-)

Cc: Heiko Schocher hs@denx.de Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl --- drivers/i2c/i2c_core.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/i2c/i2c_core.c b/drivers/i2c/i2c_core.c index 18d6736..d34b749 100644 --- a/drivers/i2c/i2c_core.c +++ b/drivers/i2c/i2c_core.c @@ -229,11 +229,9 @@ static void i2c_init_bus(unsigned int bus_no, int speed, int slaveaddr) }
/* implement possible board specific board init */ -static void __def_i2c_init_board(void) +__weak void i2c_init_board(void) { } -void i2c_init_board(void) - __attribute__((weak, alias("__def_i2c_init_board")));
/* * i2c_init_all(): @@ -395,9 +393,7 @@ void i2c_reg_write(uint8_t addr, uint8_t reg, uint8_t val) i2c_write(addr, reg, 1, &val, 1); }
-void __i2c_init(int speed, int slaveaddr) +__weak void i2c_init(int speed, int slaveaddr) { i2c_init_bus(i2c_get_bus_num(), speed, slaveaddr); } -void i2c_init(int speed, int slaveaddr) - __attribute__((weak, alias("__i2c_init")));

On Mon, Oct 27, 2014 at 10:27:18PM +0100, Jeroen Hofstee wrote:
Cc: Heiko Schocher hs@denx.de Signed-off-by: Jeroen Hofstee jeroen@myspectrum.nl
Applied to u-boot/master, thanks!
participants (5)
-
Albert ARIBAUD
-
Heiko Schocher
-
Jeroen Hofstee
-
Tom Rini
-
Tom Rini