[U-Boot-Users] Final call: last minute fixes for 1.3.0 release ?

Hallo,
this is the final call for any bug fixes that must go into the U-Boot 1.3.0 release. Please submit these *now*, I intend to release 1.3.0 in a day or two.
Since 1.3.0-rc4, I checked in a couple of fixes for compile issues (get rid of compiler warnings).
Using a GCC 4.0 / binutils 2.16.1 based toolchain (ELDK 4.1) I get the following status:
* PPC builds for all boards in the MAKEALL script without warnings, except for the MPC8641HPCN board which throws these warnings:
Configuring for MPC8641HPCN board... {standard input}: Assembler messages: {standard input}:16: Warning: ignoring changed section type for .got2 {standard input}: Assembler messages: {standard input}:14: Warning: ignoring changed section type for .got2 {standard input}: Assembler messages: {standard input}:14: Warning: ignoring changed section type for .got2
* ARM builds for many boards OK, but there are problems that will probably remain unfixed in 1.3.0:
mp2usb board:
usb_ohci.c: In function 'usb_lowlevel_init': usb_ohci.c:1846: error: 'AT91_USB_HOST_BASE' undeclared (first use in this function) usb_ohci.c:1846: error: (Each undeclared identifier is reported only once usb_ohci.c:1846: error: for each function it appears in.)
mx1ads board:
mx1ads.c: In function 'board_init': mx1ads.c:106: error: invalid lvalue in assignment mx1ads.c:107: error: invalid lvalue in assignment
mx1fs2 board:
mx1fs2.c: In function 'logo_init': mx1fs2.c:75: error: invalid lvalue in assignment
scb9328 board:
flash.c:85: warning: type qualifiers ignored on function return type generic.c: In function 'imx_gpio_mode': generic.c:41: error: invalid lvalue in assignment generic.c:43: error: invalid lvalue in assignment generic.c:47: error: invalid lvalue in assignment generic.c:49: error: invalid lvalue in assignment generic.c:53: error: invalid lvalue in assignment generic.c:55: error: invalid lvalue in assignment generic.c:59: error: invalid lvalue in assignment generic.c:61: error: invalid lvalue in assignment generic.c:71: error: invalid lvalue in assignment generic.c:74: error: invalid lvalue in assignment generic.c:76: error: invalid lvalue in assignment generic.c:81: error: invalid lvalue in assignment generic.c:84: error: invalid lvalue in assignment generic.c:86: error: invalid lvalue in assignment
VCMA9 board:
common/libcommon.a(usb.o): In function `usb_submit_int_msg': /home/wd/git/u-boot/work/common/usb.c:157: undefined reference to `submit_int_msg' common/libcommon.a(usb.o): In function `usb_control_msg': /home/wd/git/u-boot/work/common/usb.c:187: undefined reference to `submit_control_msg' common/libcommon.a(usb.o): In function `usb_bulk_msg': /home/wd/git/u-boot/work/common/usb.c:214: undefined reference to `submit_bulk_msg' common/libcommon.a(usb.o): In function `usb_init': /home/wd/git/u-boot/work/common/usb.c:109: undefined reference to `usb_lowlevel_init' common/libcommon.a(usb.o): In function `usb_stop': /home/wd/git/u-boot/work/common/usb.c:133: undefined reference to `usb_lowlevel_stop' common/libcommon.a(usb_storage.o): In function `usb_stor_CBI_get_status': /home/wd/git/u-boot/work/common/usb_storage.c:551: undefined reference to `submit_int_msg'
adsvix board:
start.S:183:1: warning: "ICMR" redefined In file included from start.S:33: /work/wd/tmp-arm/include/asm/arch/pxa-regs.h:935:1: warning: this is the location of the previous definition start.S:187:1: warning: "RCSR" redefined /work/wd/tmp-arm/include/asm/arch/pxa-regs.h:1602:1: warning: this is the location of the previous definition start.S:191:1: warning: "OSMR3" redefined /work/wd/tmp-arm/include/asm/arch/pxa-regs.h:869:1: warning: this is the location of the previous definition start.S:192:1: warning: "OSCR" redefined /work/wd/tmp-arm/include/asm/arch/pxa-regs.h:870:1: warning: this is the location of the previous definition start.S:193:1: warning: "OWER" redefined /work/wd/tmp-arm/include/asm/arch/pxa-regs.h:872:1: warning: this is the location of the previous definition start.S:194:1: warning: "OIER" redefined /work/wd/tmp-arm/include/asm/arch/pxa-regs.h:873:1: warning: this is the location of the previous definition start.S:207:1: warning: "CCCR" redefined /work/wd/tmp-arm/include/asm/arch/pxa-regs.h:1770:1: warning: this is the location of the previous definition pcmcia.c:39:2: warning: #warning "Board will only supply 5V, wait for next HW spin for selectable power" pxa_pcmcia.c: In function 'pcmcia_on': pxa_pcmcia.c:39: warning: operation on 'i' may be undefined cmd_ide.c: In function '__ide_outb': cmd_ide.c:808: warning: implicit declaration of function 'outb' cmd_ide.c: In function '__ide_inb': cmd_ide.c:817: warning: implicit declaration of function 'inb' common/libcommon.a(cmd_ide.o): In function `__ide_outb': /home/wd/git/u-boot/work/common/cmd_ide.c:808: undefined reference to `outb' common/libcommon.a(cmd_ide.o): In function `__ide_inb': /home/wd/git/u-boot/work/common/cmd_ide.c:817: undefined reference to `inb'
ixdp425, ixdpg425, pdnb3, pdnb3 boards:
make[1]: *** No rule to make target `cpu/ixp/npe/IxNpeMicrocode.o', needed by `cpu/ixp/npe/libnpe.a'. Stop.
* MIPS looks mostly OK, too, except here:
gth2 board:
lowlevel_init.S: Assembler messages: lowlevel_init.S:413: Warning: Pretending global symbol used as branch target is local.
Please help with final tresting, and report any serious problems ASAP!
Thanks in advance.
Best regards,
Wolfgang Denk

On 20:22 Sun 18 Nov , Wolfgang Denk wrote: Hi
ARM builds for many boards OK, but there are problems that will probably remain unfixed in 1.3.0:
mp2usb board:
usb_ohci.c: In function 'usb_lowlevel_init': usb_ohci.c:1846: error: 'AT91_USB_HOST_BASE' undeclared (first use in this function) usb_ohci.c:1846: error: (Each undeclared identifier is reported only once usb_ohci.c:1846: error: for each function it appears in.)
I will send a patch about it
mx1ads board:
mx1ads.c: In function 'board_init': mx1ads.c:106: error: invalid lvalue in assignment mx1ads.c:107: error: invalid lvalue in assignment
mx1fs2 board:
mx1fs2.c: In function 'logo_init': mx1fs2.c:75: error: invalid lvalue in assignment
VCMA9 board:
common/libcommon.a(usb.o): In function `usb_submit_int_msg': /home/wd/git/u-boot/work/common/usb.c:157: undefined reference to `submit_int_msg' common/libcommon.a(usb.o): In function `usb_control_msg': /home/wd/git/u-boot/work/common/usb.c:187: undefined reference to `submit_control_msg' common/libcommon.a(usb.o): In function `usb_bulk_msg': /home/wd/git/u-boot/work/common/usb.c:214: undefined reference to `submit_bulk_msg' common/libcommon.a(usb.o): In function `usb_init': /home/wd/git/u-boot/work/common/usb.c:109: undefined reference to `usb_lowlevel_init' common/libcommon.a(usb.o): In function `usb_stop': /home/wd/git/u-boot/work/common/usb.c:133: undefined reference to `usb_lowlevel_stop' common/libcommon.a(usb_storage.o): In function `usb_stor_CBI_get_status': /home/wd/git/u-boot/work/common/usb_storage.c:551: undefined reference to `submit_int_msg'
I will send a patch about it too
MIPS looks mostly OK, too, except here:
gth2 board:
lowlevel_init.S: Assembler messages: lowlevel_init.S:413: Warning: Pretending global symbol used as branch target is local.
If I'm not wrong Shinya send a patch a bout it.
Best Regards, J.

warning differ in signedness
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
diff --git a/cpu/arm920t/s3c24x0/Makefile b/cpu/arm920t/s3c24x0/Makefile index 0ff36c5..1ed9bf3 100644 --- a/cpu/arm920t/s3c24x0/Makefile +++ b/cpu/arm920t/s3c24x0/Makefile @@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(SOC).a
COBJS = i2c.o interrupts.o serial.o speed.o \ - usb.o + usb.o usb_ohci.o
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) diff --git a/cpu/arm920t/s3c24x0/usb_ohci.c b/cpu/arm920t/s3c24x0/usb_ohci.c index 869ca79..4075f2e 100644 --- a/cpu/arm920t/s3c24x0/usb_ohci.c +++ b/cpu/arm920t/s3c24x0/usb_ohci.c @@ -498,7 +498,7 @@ static int ep_link (ohci_t *ohci, ed_t *edi) if (ohci->ed_controltail == NULL) { writel (ed, &ohci->regs->ed_controlhead); } else { - ohci->ed_controltail->hwNextED = m32_swap (ed); + ohci->ed_controltail->hwNextED = (__u32)m32_swap (ed); } ed->ed_prev = ohci->ed_controltail; if (!ohci->ed_controltail && !ohci->ed_rm_list[0] && @@ -514,7 +514,7 @@ static int ep_link (ohci_t *ohci, ed_t *edi) if (ohci->ed_bulktail == NULL) { writel (ed, &ohci->regs->ed_bulkhead); } else { - ohci->ed_bulktail->hwNextED = m32_swap (ed); + ohci->ed_bulktail->hwNextED = (__u32)m32_swap (ed); } ed->ed_prev = ohci->ed_bulktail; if (!ohci->ed_bulktail && !ohci->ed_rm_list[0] && @@ -606,7 +606,7 @@ static ed_t * ep_add_ed (struct usb_device *usb_dev, unsigned long pipe) ed->hwINFO = m32_swap (OHCI_ED_SKIP); /* skip ed */ /* dummy td; end of td list for ed */ td = td_alloc (usb_dev); - ed->hwTailP = m32_swap (td); + ed->hwTailP = (__u32)m32_swap (td); ed->hwHeadP = ed->hwTailP; ed->state = ED_UNLINK; ed->type = usb_pipetype (pipe); @@ -663,13 +663,13 @@ static void td_fill (ohci_t *ohci, unsigned int info, if (!len) data = 0;
- td->hwINFO = m32_swap (info); - td->hwCBP = m32_swap (data); + td->hwINFO = (__u32)m32_swap (info); + td->hwCBP = (__u32)m32_swap (data); if (data) - td->hwBE = m32_swap (data + len - 1); + td->hwBE = (__u32)m32_swap (data + len - 1); else td->hwBE = 0; - td->hwNextTD = m32_swap (td_pt); + td->hwNextTD = (__u32)m32_swap (td_pt);
/* append to queue */ td->ed->hwTailP = td->hwNextTD;

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
diff --git a/cpu/pxa/i2c.c b/cpu/pxa/i2c.c index 722d949..92dd19f 100644 --- a/cpu/pxa/i2c.c +++ b/cpu/pxa/i2c.c @@ -457,7 +457,7 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
uchar i2c_reg_read (uchar chip, uchar reg) { - char buf; + uchar buf;
PRINTD(("i2c_reg_read(chip=0x%02x, reg=0x%02x)\n",chip,reg)); i2c_read(chip, reg, 1, &buf, 1);

In message 1195407372-962-2-git-send-email-plagnioj@jcrosoft.com you wrote:
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
diff --git a/cpu/pxa/i2c.c b/cpu/pxa/i2c.c index 722d949..92dd19f 100644 --- a/cpu/pxa/i2c.c +++ b/cpu/pxa/i2c.c @@ -457,7 +457,7 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
uchar i2c_reg_read (uchar chip, uchar reg) {
- char buf;
- uchar buf;
Already fixed.
Best regards,
Wolfgang Denk

In message 1195407372-962-1-git-send-email-plagnioj@jcrosoft.com you wrote:
warning differ in signedness
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com
Applied, thanks.
Best regards,
Wolfgang Denk

Jean-Christophe PLAGNIOL-VILLARD wrote:
MIPS looks mostly OK, too, except here:
gth2 board:
lowlevel_init.S: Assembler messages: lowlevel_init.S:413: Warning: Pretending global symbol used as branch target is local.
If I'm not wrong Shinya send a patch a bout it.
Hmm. I haven't ever seen such an warning with gcc 4.2.1 / bintuils 2.18. Anyway patch is attached. Hope this helps.
---
[MIPS] board/gth2/lowlevel_init.S: Fix a build warning
From: Shinya Kuribayashi shinya.kuribayashi@necel.com
lowlevel_init.S: Assembler messages: lowlevel_init.S:413: Warning: Pretending global symbol used as branch target is local.
Looking at codes, the `memtest' and `clearmem' are intentional mixed use of `global symbols' and `label' for debugging purpose. To make it builds, just disable global-symbols-use for now. As a result `memtest' still remains as unused, but leave it be...
Signed-off-by: Shinya Kuribayashi shinya.kuribayashi@necel.com ---
board/gth2/lowlevel_init.S | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/board/gth2/lowlevel_init.S b/board/gth2/lowlevel_init.S index 983ff70..eea378a 100644 --- a/board/gth2/lowlevel_init.S +++ b/board/gth2/lowlevel_init.S @@ -413,7 +413,9 @@ noCacheJump: j clearmem nop
+#if 0 .globl memtest +#endif memtest: /* Fill memory with address */ li t0, 0x80000000 @@ -434,7 +436,9 @@ mt1: lw t2, 0(t0) bne t1, zero, mt1 nop nop +#if 0 .globl clearmem +#endif clearmem: /* Clear memory */ li t0, 0x80000000

Hi, there!
The linker chokes on mpc85xx's u-boot.lds .bootpg section with gcc-4.2.2 and binutils-2.18 (and also the latest development releases).
I've tried to provide more details at: http://www.sourceware.org/bugzilla/show_bug.cgi?id=5205 ...but ran out of time to debug that more in detail.
If a fix/workaround is obvious (I'm not much into linker script), it would be fine to have a patch going into 1.3.0.
Regards,
Clemens Koller __________________________________ R&D Imaging Devices Anagramm GmbH Rupert-Mayer-Straße 45/1 Linhof Werksgelände D-81379 München Tel.089-741518-50 Fax 089-741518-19 http://www.anagramm-technology.com

In message 47416F8E.8030600@anagramm.de you wrote:
Hi, there!
The linker chokes on mpc85xx's u-boot.lds .bootpg section with gcc-4.2.2 and binutils-2.18 (and also the latest development releases).
I've tried to provide more details at: http://www.sourceware.org/bugzilla/show_bug.cgi?id=5205 ...but ran out of time to debug that more in detail.
If a fix/workaround is obvious (I'm not much into linker script), it would be fine to have a patch going into 1.3.0.
If you cannot provide a patch (that doesn't hurt support for older tool versions) this will go unchanged.
Best regards,
Wolfgang Denk

Hello,
in message 4740F178.6000700@necel.com you wrote:
lowlevel_init.S: Assembler messages: lowlevel_init.S:413: Warning: Pretending global symbol used as branch target is local.
If I'm not wrong Shinya send a patch a bout it.
Hmm. I haven't ever seen such an warning with gcc 4.2.1 / bintuils 2.18. Anyway patch is attached. Hope this helps.
Thanks. Applied.
Best regards,
Wolfgang Denk

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Signed-off-by: Wolfgang Denk wd@denx.de
diff --git a/include/asm-arm/arch-at91rm9200/hardware.h b/include/asm-arm/arch-at91rm9200/hardware.h index 8bb0c47..b868e38 100644 --- a/include/asm-arm/arch-at91rm9200/hardware.h +++ b/include/asm-arm/arch-at91rm9200/hardware.h @@ -24,8 +24,6 @@
#ifndef __ASSEMBLY__ #include "AT91RM9200.h" -#else -#include "AT91RM9200_inc.h" #endif
/* Virtual and Physical base address for system peripherals */ diff --git a/include/configs/mp2usb.h b/include/configs/mp2usb.h index ea5a44b..d985213 100644 --- a/include/configs/mp2usb.h +++ b/include/configs/mp2usb.h @@ -107,6 +107,8 @@ #define CONFIG_DOS_PARTITION 1 #define CONFIG_AT91C_PQFP_UHPBUG 1
+#include <asm/arch/hardware.h> /* for AT91_USB_HOST_BASE */ + #undef CFG_USB_OHCI_BOARD_INIT #define CFG_USB_OHCI_CPU_INIT 1 #define CFG_USB_OHCI_REGS_BASE AT91_USB_HOST_BASE

In message 1195418966-32591-1-git-send-email-plagnioj@jcrosoft.com you wrote:
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com Signed-off-by: Wolfgang Denk wd@denx.de
diff --git a/include/asm-arm/arch-at91rm9200/hardware.h b/include/asm-arm/arch-at91rm9200/hardware.h index 8bb0c47..b868e38 100644 --- a/include/asm-arm/arch-at91rm9200/hardware.h +++ b/include/asm-arm/arch-at91rm9200/hardware.h @@ -24,8 +24,6 @@
#ifndef __ASSEMBLY__ #include "AT91RM9200.h" -#else -#include "AT91RM9200_inc.h" #endif
/* Virtual and Physical base address for system peripherals */ diff --git a/include/configs/mp2usb.h b/include/configs/mp2usb.h index ea5a44b..d985213 100644 --- a/include/configs/mp2usb.h +++ b/include/configs/mp2usb.h @@ -107,6 +107,8 @@ #define CONFIG_DOS_PARTITION 1 #define CONFIG_AT91C_PQFP_UHPBUG 1
+#include <asm/arch/hardware.h> /* for AT91_USB_HOST_BASE */
No, that's not a good idea. Then we will have the same breakage again when another board tries to do the same. I'm testing my own fix right now. [Test builds running.]
Best regards,
Wolfgang Denk

this is the final call for any bug fixes that must go into the U-Boot 1.3.0 release. Please submit these *now*, I intend to release 1.3.0 in a day or two.
This is a bug fix for MPC8568MDS board. :-)
CONFIG_QE shouldn't be in the wrap of CONFIG_PCI, fix it.
Signed-off-by: Haiying Wang Haiying.Wang@freescale.com --- include/configs/MPC8568MDS.h | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/configs/MPC8568MDS.h b/include/configs/MPC8568MDS.h index 548e158..b9366cc 100644 --- a/include/configs/MPC8568MDS.h +++ b/include/configs/MPC8568MDS.h @@ -334,11 +334,6 @@ extern unsigned long get_clock_freq(void);
#define CFG_SRIO_MEM_BASE 0xc0000000
-#if defined(CONFIG_PCI) - -#define CONFIG_NET_MULTI -#define CONFIG_PCI_PNP /* do pci plug-and-play */ - #ifdef CONFIG_QE /* * QE UEC ethernet configuration @@ -377,6 +372,11 @@ extern unsigned long get_clock_freq(void); #endif #endif /* CONFIG_QE */
+#if defined(CONFIG_PCI) + +#define CONFIG_NET_MULTI +#define CONFIG_PCI_PNP /* do pci plug-and-play */ + #undef CONFIG_EEPRO100 #undef CONFIG_TULIP

Hello, how are you doing?
In message 1195484533.2995.6.camel@udp097531uds.am.freescale.net you wrote:
This is a bug fix for MPC8568MDS board. :-)
CONFIG_QE shouldn't be in the wrap of CONFIG_PCI, fix it.
Signed-off-by: Haiying Wang Haiying.Wang@freescale.com
Applied. Thanks a lot!
Best regards,
Wolfgang Denk
participants (5)
-
Clemens Koller
-
Haiying Wang
-
Jean-Christophe PLAGNIOL-VILLARD
-
Shinya Kuribayashi
-
Wolfgang Denk