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 01069df..8f748a0 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__);