diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-09-17 14:39:36 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-09-17 15:12:56 +0200 |
commit | e209158d5a566ddb0f2bb10f1fd10ff3ca0974ce (patch) | |
tree | acc298c41837c969a41a07677d21d83c8c3b0086 /include | |
parent | 5c0bd50319f20655b3c6e93ac9c7a72e44de7bd9 (diff) | |
download | barebox-e209158d5a566ddb0f2bb10f1fd10ff3ca0974ce.tar.gz barebox-e209158d5a566ddb0f2bb10f1fd10ff3ca0974ce.tar.xz |
net: phy: introduce phy_aneg_done
phy_wait_aneg_done() is directly called by the network code, so it
should not read phy registers directly. Introduce phy_aneg_done to
give phy drivers the chance to do something different to poll for
autonegotiation completion.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/phy.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/phy.h b/include/linux/phy.h index 7c5d754a12..c0fd4ff19a 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -234,6 +234,9 @@ struct phy_driver { */ int (*config_aneg)(struct phy_device *phydev); + /* Determines the auto negotiation result */ + int (*aneg_done)(struct phy_device *phydev); + /* Determines the negotiated speed and duplex */ int (*read_status)(struct phy_device *phydev); @@ -295,6 +298,7 @@ int phy_wait_aneg_done(struct phy_device *phydev); /* Generic PHY support and helper functions */ int genphy_restart_aneg(struct phy_device *phydev); int genphy_config_aneg(struct phy_device *phydev); +int genphy_aneg_done(struct phy_device *phydev); int genphy_update_link(struct phy_device *phydev); int genphy_read_status(struct phy_device *phydev); int genphy_config_advert(struct phy_device *phydev); |