diff mbox series

[net-next,4/7] drivers: net: smc911x: Fix set but unused status because of DBG macro

Message ID 20201031004958.1059797-5-andrew@lunn.ch (mailing list archive)
State Not Applicable
Delegated to: Netdev Maintainers
Headers show
Series smsc W=1 warning fixes | expand

Commit Message

Andrew Lunn Oct. 31, 2020, 12:49 a.m. UTC
drivers/net/ethernet/smsc/smc911x.c: In function ‘smc911x_timeout’:
drivers/net/ethernet/smsc/smc911x.c:1251:6: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
 1251 |  int status, mask;

The status is read in order to print it via the DBG macro. However,
due to the way DBG is disabled, the compiler never sees it being used.

Change the DBG macro to actually make use of the passed parameters,
and the leave the optimiser to remove the unwanted code inside the if
(0).

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/ethernet/smsc/smc911x.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Jakub Kicinski Nov. 2, 2020, 11:48 p.m. UTC | #1
On Sat, 31 Oct 2020 01:49:55 +0100 Andrew Lunn wrote:
> drivers/net/ethernet/smsc/smc911x.c: In function ‘smc911x_timeout’:
> drivers/net/ethernet/smsc/smc911x.c:1251:6: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
>  1251 |  int status, mask;
> 
> The status is read in order to print it via the DBG macro. However,
> due to the way DBG is disabled, the compiler never sees it being used.
> 
> Change the DBG macro to actually make use of the passed parameters,
> and the leave the optimiser to remove the unwanted code inside the if
> (0).
> 
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> ---
>  drivers/net/ethernet/smsc/smc911x.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/smsc/smc911x.c b/drivers/net/ethernet/smsc/smc911x.c
> index 8f748a0c057e..33d0398c182e 100644
> --- a/drivers/net/ethernet/smsc/smc911x.c
> +++ b/drivers/net/ethernet/smsc/smc911x.c
> @@ -102,7 +102,11 @@ MODULE_ALIAS("platform:smc911x");
>  
>  #define PRINTK(dev, args...)   netdev_info(dev, args)
>  #else
> -#define DBG(n, dev, args...)   do { } while (0)
> +#define DBG(n, dev, args...)			 \
> +	do {					 \
> +		if (0)				 \
> +			netdev_dbg(dev, args);	 \
> +	} while (0)

nit: since you have to respin - while (0) { } would do here.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/smsc/smc911x.c b/drivers/net/ethernet/smsc/smc911x.c
index 8f748a0c057e..33d0398c182e 100644
--- a/drivers/net/ethernet/smsc/smc911x.c
+++ b/drivers/net/ethernet/smsc/smc911x.c
@@ -102,7 +102,11 @@  MODULE_ALIAS("platform:smc911x");
 
 #define PRINTK(dev, args...)   netdev_info(dev, args)
 #else
-#define DBG(n, dev, args...)   do { } while (0)
+#define DBG(n, dev, args...)			 \
+	do {					 \
+		if (0)				 \
+			netdev_dbg(dev, args);	 \
+	} while (0)
 #define PRINTK(dev, args...)   netdev_dbg(dev, args)
 #endif