[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