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

Sergei Shtylyov
2010-09-30T16:36:34Z

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