On Thu, 9 Dec 2021 09:48:25 +0800 Biao Huang wrote:
Sorry for some typo in previous reply, fix it here.
All these warning lines share a similar semantics:
delay_val |= FIELD_PREP(xxx, !!val);
and, should come from the expansion of FIELD_PREP in
include/linux/bitfiled.h:
FIELD _PREP --> __BF_FILED_CHECK --> "~((_mask) >> __bf_shf(_mask)) &
(_val) : 0,"
===============================================================
__BF_FILED_CHECK {
...
BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
~((_mask) >> __bf_shf(_mask)) & (_val) : 0, \
_pfx "value too large for the field"); \ ...
===============================================================
Should I fix it by converting
delay_val |= FIELD_PREP(ETH_DLY_TXC_ENABLE, !!mac_delay->tx_delay);
to
en_val = !!mac_delay->tx_delay;
delay_val |= FIELD_PREP(ETH_DLY_TXC_ENABLE, en_val);
or other suggestions for these warnings?
I see, thanks for explaining. The code is fine, we can simply ignore
this warning IMHO.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel