diff options
author | Heiner Kallweit <hkallweit1@gmail.com> | 2019-05-30 09:11:06 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-05-30 18:02:33 -0400 |
commit | 97b33bdf9bddb6bebc2e87148df3e30aa7a13b2d (patch) | |
tree | 7d7ec060b20abfcf99fae544c2cb9c392dc0e2bd /include/linux/phy.h | |
parent | 49644e68f472c6480e015253fa4d7448c6cfa2aa (diff) |
net: phy: export phy_queue_state_machine
We face the issue that link change interrupt and link status may be
reported by different PHY layers. As a result the link change
interrupt may occur before the link status changes.
Export phy_queue_state_machine to allow PHY drivers to specify a
delay between link status change interrupt and link status check.
v2:
- change jiffies parameter type to unsigned long
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Suggested-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/phy.h')
-rw-r--r-- | include/linux/phy.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/phy.h b/include/linux/phy.h index 16cd33915496..dc4b51060ebc 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h | |||
@@ -188,7 +188,6 @@ static inline const char *phy_modes(phy_interface_t interface) | |||
188 | 188 | ||
189 | 189 | ||
190 | #define PHY_INIT_TIMEOUT 100000 | 190 | #define PHY_INIT_TIMEOUT 100000 |
191 | #define PHY_STATE_TIME 1 | ||
192 | #define PHY_FORCE_TIMEOUT 10 | 191 | #define PHY_FORCE_TIMEOUT 10 |
193 | 192 | ||
194 | #define PHY_MAX_ADDR 32 | 193 | #define PHY_MAX_ADDR 32 |
@@ -1140,6 +1139,7 @@ int phy_driver_register(struct phy_driver *new_driver, struct module *owner); | |||
1140 | int phy_drivers_register(struct phy_driver *new_driver, int n, | 1139 | int phy_drivers_register(struct phy_driver *new_driver, int n, |
1141 | struct module *owner); | 1140 | struct module *owner); |
1142 | void phy_state_machine(struct work_struct *work); | 1141 | void phy_state_machine(struct work_struct *work); |
1142 | void phy_queue_state_machine(struct phy_device *phydev, unsigned long jiffies); | ||
1143 | void phy_mac_interrupt(struct phy_device *phydev); | 1143 | void phy_mac_interrupt(struct phy_device *phydev); |
1144 | void phy_start_machine(struct phy_device *phydev); | 1144 | void phy_start_machine(struct phy_device *phydev); |
1145 | void phy_stop_machine(struct phy_device *phydev); | 1145 | void phy_stop_machine(struct phy_device *phydev); |