diff options
Diffstat (limited to 'target/linux/generic/patches-3.14/702-phy_add_aneg_done_function.patch')
-rw-r--r-- | target/linux/generic/patches-3.14/702-phy_add_aneg_done_function.patch | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/target/linux/generic/patches-3.14/702-phy_add_aneg_done_function.patch b/target/linux/generic/patches-3.14/702-phy_add_aneg_done_function.patch deleted file mode 100644 index b617fc2575..0000000000 --- a/target/linux/generic/patches-3.14/702-phy_add_aneg_done_function.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- a/include/linux/phy.h -+++ b/include/linux/phy.h -@@ -422,9 +422,18 @@ struct phy_driver { - */ - int (*config_aneg)(struct phy_device *phydev); - -+ /* Determine if autonegotiation is done */ -+ int (*aneg_done)(struct phy_device *phydev); -+ - /* Determines the negotiated speed and duplex */ - int (*read_status)(struct phy_device *phydev); - -+ /* -+ * Update the value in phydev->link to reflect the -+ * current link value -+ */ -+ int (*update_link)(struct phy_device *phydev); -+ - /* Clears any pending interrupts */ - int (*ack_interrupt)(struct phy_device *phydev); - ---- a/drivers/net/phy/phy_device.c -+++ b/drivers/net/phy/phy_device.c -@@ -881,6 +881,9 @@ int genphy_update_link(struct phy_device - { - int status; - -+ if (phydev->drv->update_link) -+ return phydev->drv->update_link(phydev); -+ - /* Do a fake read */ - status = phy_read(phydev, MII_BMSR); - if (status < 0) ---- a/drivers/net/phy/phy.c -+++ b/drivers/net/phy/phy.c -@@ -99,7 +99,12 @@ static int phy_config_interrupt(struct p - */ - static inline int phy_aneg_done(struct phy_device *phydev) - { -- int retval = phy_read(phydev, MII_BMSR); -+ int retval; -+ -+ if (phydev->drv->aneg_done) -+ return phydev->drv->aneg_done(phydev); -+ -+ retval = phy_read(phydev, MII_BMSR); - - return (retval < 0) ? retval : (retval & BMSR_ANEGCOMPLETE); - } |