net: phylib: add link_change_notify callback to phy device
Add a notify callback to inform phy drivers when the core is about to do its link adjustment. No change for drivers that do not implement this callback. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
916c1689a0
commit
2b8f2a28ea
@@ -720,6 +720,9 @@ void phy_state_machine(struct work_struct *work)
|
|||||||
|
|
||||||
mutex_lock(&phydev->lock);
|
mutex_lock(&phydev->lock);
|
||||||
|
|
||||||
|
if (phydev->drv->link_change_notify)
|
||||||
|
phydev->drv->link_change_notify(phydev);
|
||||||
|
|
||||||
switch (phydev->state) {
|
switch (phydev->state) {
|
||||||
case PHY_DOWN:
|
case PHY_DOWN:
|
||||||
case PHY_STARTING:
|
case PHY_STARTING:
|
||||||
|
|||||||
@@ -536,6 +536,15 @@ struct phy_driver {
|
|||||||
/* See set_wol, but for checking whether Wake on LAN is enabled. */
|
/* See set_wol, but for checking whether Wake on LAN is enabled. */
|
||||||
void (*get_wol)(struct phy_device *dev, struct ethtool_wolinfo *wol);
|
void (*get_wol)(struct phy_device *dev, struct ethtool_wolinfo *wol);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Called to inform a PHY device driver when the core is about to
|
||||||
|
* change the link state. This callback is supposed to be used as
|
||||||
|
* fixup hook for drivers that need to take action when the link
|
||||||
|
* state changes. Drivers are by no means allowed to mess with the
|
||||||
|
* PHY device structure in their implementations.
|
||||||
|
*/
|
||||||
|
void (*link_change_notify)(struct phy_device *dev);
|
||||||
|
|
||||||
struct device_driver driver;
|
struct device_driver driver;
|
||||||
};
|
};
|
||||||
#define to_phy_driver(d) container_of(d, struct phy_driver, driver)
|
#define to_phy_driver(d) container_of(d, struct phy_driver, driver)
|
||||||
|
|||||||
Reference in New Issue
Block a user