[PATCH v2 2/3] common: board: make initcalls static
Marek Vasut
marex at denx.de
Fri Jan 24 17:23:59 CET 2025
On 1/24/25 4:57 PM, Jerome Forissier wrote:
>
>
> On 1/24/25 11:35, Marek Vasut wrote:
>> On 1/24/25 10:10 AM, Jerome Forissier wrote:
>>> +#define INITCALL(_call) \
>>> + do { \
>>> + if (_call()) { \
>>> + printf("%s(): initcall %s() failed\n", __func__, \
>>> + #_call); \
>>> + hang(); \
>>> + } \
>>> + } while (0)
>>
>> Can this be turned into some static inline function too , so typechecking would be retained ? Maybe the function can be passed in a function pointer to call ?
>
>
> Doing the below totally kills the space gain (-160 bytes instead of -2281
> on zynqmp_kria_defconfig, with LTO).
Does the compiler not inline the functions perhaps ?
> And it prevents from printing the
> function name in case of error, which is nicer than an address
> (especially with relocation at play).
That function name can be passed in using __func__ as a parameter.
More information about the U-Boot
mailing list