mvebu: Add support for kernel 4.14
[openwrt/staging/kaloz.git] / target / linux / mvebu / patches-4.14 / 407-phy-fixed-phy-remove-fixed_phy_update_state.patch
diff --git a/target/linux/mvebu/patches-4.14/407-phy-fixed-phy-remove-fixed_phy_update_state.patch b/target/linux/mvebu/patches-4.14/407-phy-fixed-phy-remove-fixed_phy_update_state.patch
new file mode 100644 (file)
index 0000000..71c2f45
--- /dev/null
@@ -0,0 +1,80 @@
+From 774ce2eda0a929f79ee398ba6d2d13fd406f31c4 Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+Date: Fri, 2 Oct 2015 22:46:54 +0100
+Subject: phy: fixed-phy: remove fixed_phy_update_state()
+
+mvneta is the only user of fixed_phy_update_state(), which has been
+converted to use phylink instead.  Remove fixed_phy_update_state().
+
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+---
+ drivers/net/phy/fixed_phy.c | 31 -------------------------------
+ include/linux/phy_fixed.h   |  9 ---------
+ 2 files changed, 40 deletions(-)
+
+--- a/drivers/net/phy/fixed_phy.c
++++ b/drivers/net/phy/fixed_phy.c
+@@ -115,37 +115,6 @@ int fixed_phy_set_link_update(struct phy
+ }
+ EXPORT_SYMBOL_GPL(fixed_phy_set_link_update);
+-int fixed_phy_update_state(struct phy_device *phydev,
+-                         const struct fixed_phy_status *status,
+-                         const struct fixed_phy_status *changed)
+-{
+-      struct fixed_mdio_bus *fmb = &platform_fmb;
+-      struct fixed_phy *fp;
+-
+-      if (!phydev || phydev->mdio.bus != fmb->mii_bus)
+-              return -EINVAL;
+-
+-      list_for_each_entry(fp, &fmb->phys, node) {
+-              if (fp->addr == phydev->mdio.addr) {
+-                      write_seqcount_begin(&fp->seqcount);
+-#define _UPD(x) if (changed->x) \
+-      fp->status.x = status->x
+-                      _UPD(link);
+-                      _UPD(speed);
+-                      _UPD(duplex);
+-                      _UPD(pause);
+-                      _UPD(asym_pause);
+-#undef _UPD
+-                      fixed_phy_update(fp);
+-                      write_seqcount_end(&fp->seqcount);
+-                      return 0;
+-              }
+-      }
+-
+-      return -ENOENT;
+-}
+-EXPORT_SYMBOL(fixed_phy_update_state);
+-
+ int fixed_phy_add(unsigned int irq, int phy_addr,
+                 struct fixed_phy_status *status,
+                 int link_gpio)
+--- a/include/linux/phy_fixed.h
++++ b/include/linux/phy_fixed.h
+@@ -24,9 +24,6 @@ extern void fixed_phy_unregister(struct
+ extern int fixed_phy_set_link_update(struct phy_device *phydev,
+                       int (*link_update)(struct net_device *,
+                                          struct fixed_phy_status *));
+-extern int fixed_phy_update_state(struct phy_device *phydev,
+-                         const struct fixed_phy_status *status,
+-                         const struct fixed_phy_status *changed);
+ #else
+ static inline int fixed_phy_add(unsigned int irq, int phy_id,
+                               struct fixed_phy_status *status,
+@@ -50,12 +47,6 @@ static inline int fixed_phy_set_link_upd
+ {
+       return -ENODEV;
+ }
+-static inline int fixed_phy_update_state(struct phy_device *phydev,
+-                         const struct fixed_phy_status *status,
+-                         const struct fixed_phy_status *changed)
+-{
+-      return -ENODEV;
+-}
+ #endif /* CONFIG_FIXED_PHY */
+ #endif /* __PHY_FIXED_H */