[U-Boot] [PATCH] cfi_flash: Make all flash access functions weak

Haavard Skinnemoen haavard.skinnemoen at atmel.com
Mon Nov 17 10:01:45 CET 2008


Stefan Roese <sr at denx.de> wrote:
> Old version without weak aliases:
>    text    data     bss     dec     hex filename
>  280964   20232   50788  351984   55ef0 ./u-boot
> 
> New version with weak aliases:
>    text    data     bss     dec     hex filename
>  280520   20232   50788  351540   55d34 ./u-boot
> 
> So the difference is 444 bytes (with gcc 4.2.2). I have to admit that this is 
> more than I thought. If necessary I could make this weak change conditionally 
> of course. I just didn't want to "pollute" to the source with more #ifdef's.

Looks like it's 444 bytes _smaller_ with weak functions...that's a bit
surprising. From you comment, it sounds like it's really 444 bytes
larger. Did you mix up the numbers?

If it's really 444 bytes larger, I think that's a bit much for
something as simple as memory accessors. Ideally, they should boil down
to a single instruction each.

Perhaps you could allow overriding them in the board header by doing
something like

#ifndef flash_write8
# #define flash_write8(value, addr)	__raw_writeb(value, addr)
...

in cfi_flash.c?

Haavard


More information about the U-Boot mailing list