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 <[email protected]>
---
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
On 8/21/20 3:25 PM, 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 <[email protected]>
Acked-by: Florian Fainelli <[email protected]>
--
Florian
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 <[email protected]>
> ---
> 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 <[email protected]>
-Vladimir
From: Nathan Chancellor <[email protected]>
Date: Fri, 21 Aug 2020 15:25:16 -0700
> 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 <[email protected]>
Applied, thanks.