From: Gabor Juhos Date: Sun, 13 Apr 2014 20:41:48 +0000 (+0000) Subject: ar71xx: add phy_mmd_{read,write} helpers X-Git-Tag: v19.07.0-rc1~18071 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=27dec099071e6871bd276410af0cd99131ef05bf;p=openwrt%2Fstaging%2Fhauke.git ar71xx: add phy_mmd_{read,write} helpers Signed-off-by: Gabor Juhos SVN-Revision: 40506 --- diff --git a/target/linux/ar71xx/patches-3.10/424-net-phy-add-phy_mmd_read_write-functions.patch b/target/linux/ar71xx/patches-3.10/424-net-phy-add-phy_mmd_read_write-functions.patch new file mode 100644 index 0000000000..961a65b9e0 --- /dev/null +++ b/target/linux/ar71xx/patches-3.10/424-net-phy-add-phy_mmd_read_write-functions.patch @@ -0,0 +1,40 @@ +--- a/drivers/net/phy/phy.c ++++ b/drivers/net/phy/phy.c +@@ -1009,6 +1009,12 @@ static int phy_read_mmd_indirect(struct + return ret; + } + ++int phy_read_mmd(struct phy_device *phydev, int prtad, int devad, int addr) ++{ ++ return phy_read_mmd_indirect(phydev->bus, prtad, devad, phydev->addr); ++} ++EXPORT_SYMBOL(phy_read_mmd); ++ + /** + * phy_write_mmd_indirect - writes data to the MMD registers + * @bus: the target MII bus +@@ -1034,6 +1040,12 @@ static void phy_write_mmd_indirect(struc + bus->write(bus, addr, MII_MMD_DATA, data); + } + ++void phy_write_mmd(struct phy_device *phydev, int prtad, int devad, u16 data) ++{ ++ phy_write_mmd_indirect(phydev->bus, prtad, devad, phydev->addr, data); ++} ++EXPORT_SYMBOL(phy_write_mmd); ++ + /** + * phy_init_eee - init and check the EEE feature + * @phydev: target phy_device struct +--- a/include/linux/phy.h ++++ b/include/linux/phy.h +@@ -580,6 +580,9 @@ int phy_register_fixup_for_uid(u32 phy_u + int (*run)(struct phy_device *)); + int phy_scan_fixups(struct phy_device *phydev); + ++int phy_read_mmd(struct phy_device *phydev, int prtad, int devad, int addr); ++void phy_write_mmd(struct phy_device *phydev, int prtad, int devad, u16 data); ++ + int phy_init_eee(struct phy_device *phydev, bool clk_stop_enable); + int phy_get_eee_err(struct phy_device *phydev); + int phy_ethtool_set_eee(struct phy_device *phydev, struct ethtool_eee *data);