aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2018-04-09 09:49:44 +0200
committerFelix Fietkau <nbd@nbd.name>2018-04-19 14:38:36 +0200
commit57a7595a289e80a34f166e66f3cf9191ef772eb3 (patch)
treedbf5a762cfab0cf7429b9104274fba7ef2646176 /target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch
parenta656ea0bdb5d3d4a4948457942e84faa5a4f5cfe (diff)
downloadupstream-57a7595a289e80a34f166e66f3cf9191ef772eb3.tar.gz
upstream-57a7595a289e80a34f166e66f3cf9191ef772eb3.tar.bz2
upstream-57a7595a289e80a34f166e66f3cf9191ef772eb3.zip
mvebu: drop linux 4.4 and 4.9 support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch')
-rw-r--r--target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch97
1 files changed, 0 insertions, 97 deletions
diff --git a/target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch b/target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch
deleted file mode 100644
index 33d467794a..0000000000
--- a/target/linux/mvebu/patches-4.9/402-net-phy-make-phy_-read-write-_mmd-generic-MMD-access.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From: Russell King <rmk+kernel@armlinux.org.uk>
-Date: Wed, 4 Jan 2017 19:20:21 +0000
-Subject: [PATCH] net: phy: make phy_(read|write)_mmd() generic MMD
- accessors
-
-Make phy_(read|write)_mmd() generic 802.3 clause 45 register accessors
-for both Clause 22 and Clause 45 PHYs, using either the direct register
-reading for Clause 45, or the indirect method for Clause 22 PHYs.
-Allow this behaviour to be overriden by PHY drivers where necessary.
-
-Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
----
-
---- a/drivers/net/phy/phy-core.c
-+++ b/drivers/net/phy/phy-core.c
-@@ -69,11 +69,18 @@ EXPORT_SYMBOL(phy_read_mmd_indirect);
- */
- int phy_read_mmd(struct phy_device *phydev, int devad, u32 regnum)
- {
-- if (!phydev->is_c45)
-- return -EOPNOTSUPP;
-+ if (regnum > (u16)~0 || devad > 32)
-+ return -EINVAL;
-
-- return mdiobus_read(phydev->mdio.bus, phydev->mdio.addr,
-- MII_ADDR_C45 | (devad << 16) | (regnum & 0xffff));
-+ if (phydev->drv->read_mmd)
-+ return phydev->drv->read_mmd(phydev, devad, regnum);
-+
-+ if (phydev->is_c45) {
-+ u32 addr = MII_ADDR_C45 | (devad << 16) | (regnum & 0xffff);
-+ return mdiobus_read(phydev->mdio.bus, phydev->mdio.addr, addr);
-+ }
-+
-+ return phy_read_mmd_indirect(phydev, regnum, devad);
- }
- EXPORT_SYMBOL(phy_read_mmd);
-
-@@ -125,11 +132,21 @@ EXPORT_SYMBOL(phy_write_mmd_indirect);
- */
- int phy_write_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val)
- {
-- if (!phydev->is_c45)
-- return -EOPNOTSUPP;
-+ if (regnum > (u16)~0 || devad > 32)
-+ return -EINVAL;
-+
-+ if (phydev->drv->read_mmd)
-+ return phydev->drv->write_mmd(phydev, devad, regnum, val);
-+
-+ if (phydev->is_c45) {
-+ u32 addr = MII_ADDR_C45 | (devad << 16) | (regnum & 0xffff);
-+
-+ return mdiobus_write(phydev->mdio.bus, phydev->mdio.addr,
-+ addr, val);
-+ }
-
-- regnum = MII_ADDR_C45 | ((devad & 0x1f) << 16) | (regnum & 0xffff);
-+ phy_write_mmd_indirect(phydev, regnum, devad, val);
-
-- return mdiobus_write(phydev->mdio.bus, phydev->mdio.addr, regnum, val);
-+ return 0;
- }
- EXPORT_SYMBOL(phy_write_mmd);
---- a/include/linux/phy.h
-+++ b/include/linux/phy.h
-@@ -569,6 +569,30 @@ struct phy_driver {
- */
- void (*link_change_notify)(struct phy_device *dev);
-
-+ /*
-+ * Phy specific driver override for reading a MMD register.
-+ * This function is optional for PHY specific drivers. When
-+ * not provided, the default MMD read function will be used
-+ * by phy_read_mmd(), which will use either a direct read for
-+ * Clause 45 PHYs or an indirect read for Clause 22 PHYs.
-+ * devnum is the MMD device number within the PHY device,
-+ * regnum is the register within the selected MMD device.
-+ */
-+ int (*read_mmd)(struct phy_device *dev, int devnum, u16 regnum);
-+
-+ /*
-+ * Phy specific driver override for writing a MMD register.
-+ * This function is optional for PHY specific drivers. When
-+ * not provided, the default MMD write function will be used
-+ * by phy_write_mmd(), which will use either a direct write for
-+ * Clause 45 PHYs, or an indirect write for Clause 22 PHYs.
-+ * devnum is the MMD device number within the PHY device,
-+ * regnum is the register within the selected MMD device.
-+ * val is the value to be written.
-+ */
-+ int (*write_mmd)(struct phy_device *dev, int devnum, u16 regnum,
-+ u16 val);
-+
- /* A function provided by a phy specific driver to override the
- * the PHY driver framework support for reading a MMD register
- * from the PHY. If not supported, return -1. This function is