mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 08:19:28 +00:00
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:
parent
916c1689a0
commit
2b8f2a28ea
2 changed files with 12 additions and 0 deletions
|
@ -720,6 +720,9 @@ void phy_state_machine(struct work_struct *work)
|
|||
|
||||
mutex_lock(&phydev->lock);
|
||||
|
||||
if (phydev->drv->link_change_notify)
|
||||
phydev->drv->link_change_notify(phydev);
|
||||
|
||||
switch (phydev->state) {
|
||||
case PHY_DOWN:
|
||||
case PHY_STARTING:
|
||||
|
|
|
@ -536,6 +536,15 @@ struct phy_driver {
|
|||
/* See set_wol, but for checking whether Wake on LAN is enabled. */
|
||||
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;
|
||||
};
|
||||
#define to_phy_driver(d) container_of(d, struct phy_driver, driver)
|
||||
|
|
Loading…
Reference in a new issue