Skip to content

Commit

Permalink
net: phy: replace PHY_HAS_INTERRUPT with a check for config_intr and …
Browse files Browse the repository at this point in the history
…ack_interrupt

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>
  • Loading branch information
hkallweit authored and davem330 committed Nov 11, 2018
1 parent e15e067 commit 0d2e778
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions drivers/net/phy/phy_device.c
Expand Up @@ -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
Expand All @@ -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)
Expand Down

0 comments on commit 0d2e778

Please sign in to comment.