diff options
author | Heiner Kallweit <hkallweit1@gmail.com> | 2018-11-09 18:56:52 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-11-11 09:41:32 -0800 |
commit | d73a2156bdad6bdf7e0c42051c5ebbea11f6271e (patch) | |
tree | 121da4647228d397cdc8036d992282b056de3c6c /drivers/net/phy/phy.c | |
parent | 8deeb6309cc447b9b35939558f18e2164dd110df (diff) | |
download | linux-d73a2156bdad6bdf7e0c42051c5ebbea11f6271e.tar.gz |
net: phy: simplify phy_mac_interrupt and related functions
When using phy_mac_interrupt() the irq number is set to PHY_IGNORE_INTERRUPT, therefore phy_interrupt_is_valid() returns false. As a result phy_change() effectively just calls phy_trigger_machine() when called from phy_mac_interrupt() via phy_change_work(). So we can call phy_trigger_machine() from phy_mac_interrupt() directly and remove some now unneeded code. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/phy.c')
-rw-r--r-- | drivers/net/phy/phy.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index da41420dfd11..ce1e8130a38f 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -751,18 +751,6 @@ phy_err: } /** - * phy_change_work - Scheduled by the phy_mac_interrupt to handle PHY changes - * @work: work_struct that describes the work to be done - */ -void phy_change_work(struct work_struct *work) -{ - struct phy_device *phydev = - container_of(work, struct phy_device, phy_queue); - - phy_change(phydev); -} - -/** * phy_interrupt - PHY interrupt handler * @irq: interrupt line * @phy_dat: phy_device pointer @@ -1005,7 +993,7 @@ void phy_state_machine(struct work_struct *work) void phy_mac_interrupt(struct phy_device *phydev) { /* Trigger a state machine change */ - queue_work(system_power_efficient_wq, &phydev->phy_queue); + phy_trigger_machine(phydev); } EXPORT_SYMBOL(phy_mac_interrupt); |