summaryrefslogtreecommitdiff
path: root/drivers/net/phy/phy_device.c
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2014-02-11 17:27:37 -0800
committerDavid S. Miller <davem@davemloft.net>2014-02-12 19:08:19 -0500
commit76a423a3f8f16bfc7fb86360a620be18c775b94d (patch)
tree79afe85602c388647b06b9bf00c663ff44256244 /drivers/net/phy/phy_device.c
parenta9fa6e6ac29709e7a623b60695c172da675df045 (diff)
downloadlwn-76a423a3f8f16bfc7fb86360a620be18c775b94d.tar.gz
lwn-76a423a3f8f16bfc7fb86360a620be18c775b94d.zip
net: phy: allow driver to implement their own aneg_done
Some PHYs out there can be very quirky with respect to how they would report the auto-negotiation is completed. Allow drivers to override the generic aneg_done() implementation by providing their own. Since not all drivers have been updated yet to use genphy_aneg_done() as aneg_done() callback, we explicitely check that this callback is valid before calling into it. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/phy_device.c')
-rw-r--r--drivers/net/phy/phy_device.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 4e7db726028f..7c184208ed4d 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -1267,6 +1267,7 @@ static struct phy_driver genphy_driver[] = {
.config_init = genphy_config_init,
.features = 0,
.config_aneg = genphy_config_aneg,
+ .aneg_done = genphy_aneg_done,
.read_status = genphy_read_status,
.suspend = genphy_suspend,
.resume = genphy_resume,