diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2014-10-27 22:55:39 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2014-10-27 22:55:39 +0000 |
commit | a76ee3b1d5dee92a13ba357e9baf2ad155976604 (patch) | |
tree | 38745103e28135d9d7fc5fbfbc64a5eb7f6f49d3 /target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch | |
parent | cea2b5299b13fcfef7de2f194e833e545e9e0f2f (diff) | |
download | upstream-a76ee3b1d5dee92a13ba357e9baf2ad155976604.tar.gz upstream-a76ee3b1d5dee92a13ba357e9baf2ad155976604.tar.bz2 upstream-a76ee3b1d5dee92a13ba357e9baf2ad155976604.zip |
kernel: make the kernel 3.18 patches apply and boot on arm.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 43095
Diffstat (limited to 'target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch')
-rw-r--r-- | target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch b/target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch index d634647ddb..42bddfee35 100644 --- a/target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch +++ b/target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch @@ -1,12 +1,6 @@ --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -417,9 +417,18 @@ struct phy_driver { - */ - int (*config_aneg)(struct phy_device *phydev); - -+ /* Determine if autonegotiation is done */ -+ int (*aneg_done)(struct phy_device *phydev); -+ +@@ -484,6 +484,12 @@ struct phy_driver { /* Determines the negotiated speed and duplex */ int (*read_status)(struct phy_device *phydev); @@ -21,7 +15,7 @@ --- 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 +@@ -914,6 +914,9 @@ int genphy_update_link(struct phy_device { int status; @@ -31,19 +25,3 @@ /* 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); - } |