[U-Boot] [PATCH v2 3/5] ARM: omap-common: Add standard access for board description EEPROM

Nishanth Menon
2015-11-03T17:45:58Z

On 11/03/2015 11:02 AM, Igor Grinberg wrote:

>>>>> +
>>>>> +/**
>>>>> + * board_am_rev_is() - Compare board revision
>>>>> + * @rev_tag: Revision tag to check in eeprom
>>>>> + * @cmp_len: How many chars to compare?
>>>>> + *
>>>>> + * NOTE: revision information is often messed up (hence the str len
>>>>> match) :(
>>>>> + *
>>>>> + * Return: false if board information does not match OR eeprom
>>>>> was'nt read.
>>>>> + * true otherwise
>>>>> + */
>>>>> +static inline bool board_am_rev_is(char *rev_tag, int cmp_len)
>>>>> +{
>>>>> + struct ti_am_eeprom *ep = TI_AM_EEPROM_DATA;
>>>>> + int l;
>>>>> +
>>>>> + if (ep->header != TI_EEPROM_HEADER_MAGIC)
>>>>> + return false;
>>>>> +
>>>>> + l = cmp_len > TI_EEPROM_HDR_REV_LEN ? TI_EEPROM_HDR_NAME_LEN :
>>>>> cmp_len;
>>>>> + return !strncmp(ep->version, rev_tag, l);
>>>>> +}
>>>>
>>>> Same here.
>>>>
>>> I thought by making them static inline would save space.
>>
>> I prefer that myself as well.
>
> I'm not sure I understand what space will it save?
> AFAIK, inline places the function code inside the the caller function
> and thus spreads into each caller, no? It probably saves some branches,
> but how does that save space?

I dont think it saves space, but rather a function call overhead for
trivial code as above.

> Also, AFAIR, we try to not place code inside headers, unless the code
> is a stub.

That does not always make sense. here it is a straight forward
comparison.. why hide it a function call deep when you can inline it?

--
Regards,
Nishanth Menon