[U-Boot] [PATCH 13/17] post/i2c: Add ability to ignore I2C devices

Sergei Shtylyov sshtylyov at mvista.com
Thu Sep 30 18:36:34 CEST 2010


Hello.

Peter Tyser wrote:

>>>>>> +#ifdef I2C_ADDR_IGNORE_LIST
>>>>>> +	unsigned char i2c_ignore_list[] = I2C_ADDR_IGNORE_LIST;

>>>>>     This array is aking to be *static*...

>>>> ... and *const* as well ?

>>> I'll add 'const' in the next version, but I'm not sure if the 'static'
>>> adds any benefit since its a local variable.

>>     Have you considered the amount of code needed for non-static array 
>> initialization?

> I think I did:)  I'd think a const array would generate nearly identical
> code with or without the static qualifier.  In either case the function
> will load a pointer to the array and loop through it.  The array should
> be stored in the data section of the U-Boot binary so I'm not sure how
> the array initialization differs.  I did a quick comparison for this
> specific case and the resulting sizes came out the same:
> ptyser at petert u-boot $ size ./i2c-static.o
>    text	   data	    bss	    dec	    hex	filename
>     347	     12	      0	    359	    167	./i2c-static.o
> ptyser at petert u-boot $ size ./i2c-nonstatic.o
>    text	   data	    bss	    dec	    hex	filename
>     347	     12	      0	    359	    167	./i2c-nonstatic.o

> Is there something I'm overlooking?

    If 'const' alone makes it go into the data section, then no. I didn't think 
it does.

> Regards,
> Peter

WBR, Sergei


More information about the U-Boot mailing list