[U-Boot] [PATCH] pinctrl: uniphier: fix unused-const-variable warnings for GCC 6.x

Marek Vasut marex at denx.de
Tue Oct 18 17:41:38 CEST 2016


On 10/18/2016 05:38 PM, Masahiro Yamada wrote:
> 2016-10-09 23:52 GMT+09:00 Masahiro Yamada <yamada.masahiro at socionext.com>:
>> Marek reports warnings in UniPhier pinctrl drivers when compiled by
>> GCC 6.x, like:
>>
>>   drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c:58:18: warning:
>>   'usb3_muxvals' defined but not used [-Wunused-const-variable=]
>>    static const int usb3_muxvals[] = {0, 0};
>>                     ^~~~~~~~~~~~
>>
>> My intention here is to compile minimum set of pin data for SPL to
>> save memory footprint, but GCC these days is clever enough to notice
>> unused data arrays.
>>
>> We can fix it by sprinkling around __maybe_unused on those arrays,
>> but I did not do that because they are counterparts of the pinctrl
>> drivers in Linux.  All the pin data were just copy-pasted from Linux
>> and are kept in sync for maintainability.
>>
>> I chose a bit tricky way to fix the issue; calculate ARRAY_SIZE of
>> *_pins and *_muxvals and set their sum to an unused struct member.
>> This trick will satisfy GCC because the data arrays are used anyway,
>> but such data arrays will be dropped from the final binary because
>> the pointers to them are not used.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
>> Reported-by: Marek Vasut <marex at denx.de>
> 
> 
> Applied to u-boot-uniphier/master.
> 
Thanks!

-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list