[U-Boot] [BUGFIX PATCH] mips: serial: Fix busted manual relocation
Daniel Schwierzeck
daniel.schwierzeck at gmail.com
Wed Dec 12 13:12:36 CET 2012
Hi Joe,
2012/12/12 Joe Hershberger <joe.hershberger at ni.com>:
> serial_initialize() must be called after relocation to adjust the
> pointers to putc(), getc(), etc. This is busted ever since the
> serial driver-model-ification series.
>
> Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
> ---
> arch/mips/lib/board.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/lib/board.c b/arch/mips/lib/board.c
> index 7ddd778..e47989b 100644
> --- a/arch/mips/lib/board.c
> +++ b/arch/mips/lib/board.c
> @@ -262,6 +262,8 @@ void board_init_r(gd_t *id, ulong dest_addr)
>
> monitor_flash_len = (ulong)&uboot_end_data - dest_addr;
>
> + serial_initialize();
> +
> #if defined(CONFIG_NEEDS_MANUAL_RELOC)
> /*
> * We have to relocate the command table manually
> --
good catch, thanks.
gcc-4.7 raises a warning:
board.c: In function 'board_init_r':
board.c:265:2: warning: implicit declaration of function
'serial_initialize' [-Wimplicit-function-declaration]
But if I include serial.h (which includes asm/io.h) I get following error:
board.c:50:15: error: conflicting type qualifiers for 'mips_io_port_base'
In file included from /work/git-trees/u-boot-mips/include/post.h:32:0,
from /work/git-trees/u-boot-mips/include/serial.h:4,
from board.c:27:
/work/git-trees/u-boot-mips/build/qemu_mipsel/include2/asm/io.h:74:28:
note: previous declaration of 'mips_io_port_base' was here
I will fix it in the MIPS tree and send new patches today.
--
Best regards,
Daniel
More information about the U-Boot
mailing list