drivers: net: smc911x: Work around set but unused status
authorAndrew Lunn <andrew@lunn.ch>
Tue, 10 Nov 2020 03:02:44 +0000 (04:02 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 12 Nov 2020 22:49:39 +0000 (14:49 -0800)
drivers/net/ethernet/smsc/smc911x.c: In function ‘smc911x_phy_interrupt’:
drivers/net/ethernet/smsc/smc911x.c:976:6: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
  976 |  int status;

A comment indicates the status needs to be read from the PHY,
otherwise bad things happen. But due to the macro magic, it is hard to
perform the read without assigning it to a variable. So add
_always_unused attribute to status to tell the compiler we don't
expect to use the value.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/smsc/smc911x.c

index 01069dfaf75c9c156d142fa19efb014820e12b37..8f748a0c057eea97174d7f8ebc99d5063a3b4ee6 100644 (file)
@@ -879,7 +879,7 @@ static void smc911x_phy_configure(struct work_struct *work)
        int phyaddr = lp->mii.phy_id;
        int my_phy_caps; /* My PHY capabilities */
        int my_ad_caps; /* My Advertised capabilities */
-       int status;
+       int status __always_unused;
        unsigned long flags;
 
        DBG(SMC_DEBUG_FUNC, dev, "--> %s()\n", __func__);
@@ -973,7 +973,7 @@ static void smc911x_phy_interrupt(struct net_device *dev)
 {
        struct smc911x_local *lp = netdev_priv(dev);
        int phyaddr = lp->mii.phy_id;
-       int status;
+       int status __always_unused;
 
        DBG(SMC_DEBUG_FUNC, dev, "--> %s\n", __func__);