net: phy: replace PHY_HAS_INTERRUPT with a check for config_intr and ack_interrupt
authorHeiner Kallweit <hkallweit1@gmail.com>
Fri, 9 Nov 2018 17:16:28 +0000 (18:16 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 11 Nov 2018 17:36:46 +0000 (09:36 -0800)
Flag PHY_HAS_INTERRUPT is used only here for this small check. I think
using interrupts isn't possible if a driver defines neither
config_intr nor ack_interrupts callback. So we can replace checking
flag PHY_HAS_INTERRUPT with checking for these callbacks.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy_device.c

index ab33d1777132e62a141e7ca76c11ef694a6f4e63..00a46218c3a22160d5739a375ca4ec4693cf932b 100644 (file)
@@ -2074,6 +2074,11 @@ static void of_set_phy_eee_broken(struct phy_device *phydev)
        phydev->eee_broken_modes = broken;
 }
 
+static bool phy_drv_supports_irq(struct phy_driver *phydrv)
+{
+       return phydrv->config_intr || phydrv->ack_interrupt;
+}
+
 /**
  * phy_probe - probe and init a PHY device
  * @dev: device to probe and init
@@ -2095,8 +2100,7 @@ static int phy_probe(struct device *dev)
        /* Disable the interrupt if the PHY doesn't support it
         * but the interrupt is still a valid one
         */
-       if (!(phydrv->flags & PHY_HAS_INTERRUPT) &&
-           phy_interrupt_is_valid(phydev))
+        if (!phy_drv_supports_irq(phydrv) && phy_interrupt_is_valid(phydev))
                phydev->irq = PHY_POLL;
 
        if (phydrv->flags & PHY_IS_INTERNAL)