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 <[email protected]>
> ---
> 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.