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

Masahiro Yamada yamada.masahiro at socionext.com
Tue Oct 18 17:38:44 CEST 2016


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.

-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list