On Fri, Aug 21, 2020 at 03:25:16PM -0700, Nathan Chancellor wrote: > Clang warns: > > drivers/net/dsa/sja1105/sja1105_main.c:3418:38: warning: address of > array 'match->compatible' will always evaluate to 'true' > [-Wpointer-bool-conversion] > for (match = sja1105_dt_ids; match->compatible; match++) { > ~~~ ~~~~~~~^~~~~~~~~~ > 1 warning generated. > > We should check the value of the first character in compatible to see if > it is empty or not. This matches how the rest of the tree iterates over > IDs. > > Fixes: 0b0e299720bb ("net: dsa: sja1105: use detected device id instead of DT > one on mismatch") > Link: https://github.com/ClangBuiltLinux/linux/issues/1139 > Signed-off-by: Nathan Chancellor <natechancel...@gmail.com> > --- > drivers/net/dsa/sja1105/sja1105_main.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/dsa/sja1105/sja1105_main.c > b/drivers/net/dsa/sja1105/sja1105_main.c > index c3f6f124e5f0..5a28dfb36ec3 100644 > --- a/drivers/net/dsa/sja1105/sja1105_main.c > +++ b/drivers/net/dsa/sja1105/sja1105_main.c > @@ -3415,7 +3415,7 @@ static int sja1105_check_device_id(struct > sja1105_private *priv) > > sja1105_unpack(prod_id, &part_no, 19, 4, SJA1105_SIZE_DEVICE_ID); > > - for (match = sja1105_dt_ids; match->compatible; match++) { > + for (match = sja1105_dt_ids; match->compatible[0]; match++) { > const struct sja1105_info *info = match->data; > > /* Is what's been probed in our match table at all? */ > > base-commit: 4af7b32f84aa4cd60e39b355bc8a1eab6cd8d8a4 > -- > 2.28.0 >
Thanks, Nathan. Acked-by: Vladimir Oltean <olte...@gmail.com> -Vladimir