aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/backport-5.4/712-v5.3-net-sfp-remove-sfp-bus-use-of-netdevs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/backport-5.4/712-v5.3-net-sfp-remove-sfp-bus-use-of-netdevs.patch')
-rw-r--r--target/linux/generic/backport-5.4/712-v5.3-net-sfp-remove-sfp-bus-use-of-netdevs.patch118
1 files changed, 118 insertions, 0 deletions
diff --git a/target/linux/generic/backport-5.4/712-v5.3-net-sfp-remove-sfp-bus-use-of-netdevs.patch b/target/linux/generic/backport-5.4/712-v5.3-net-sfp-remove-sfp-bus-use-of-netdevs.patch
new file mode 100644
index 0000000000..8f0c37e092
--- /dev/null
+++ b/target/linux/generic/backport-5.4/712-v5.3-net-sfp-remove-sfp-bus-use-of-netdevs.patch
@@ -0,0 +1,118 @@
+From 60d756717d772be90d07a07cd2cc140c76da3e4a Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@armlinux.org.uk>
+Date: Tue, 28 May 2019 10:57:39 +0100
+Subject: [PATCH 610/660] net: sfp: remove sfp-bus use of netdevs
+
+The sfp-bus code now no longer has any use for the network device
+structure, so remove its use.
+
+Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
+---
+ drivers/net/phy/phylink.c | 3 +--
+ drivers/net/phy/sfp-bus.c | 10 +++-------
+ include/linux/sfp.h | 6 ++----
+ 3 files changed, 6 insertions(+), 13 deletions(-)
+
+--- a/drivers/net/phy/phylink.c
++++ b/drivers/net/phy/phylink.c
+@@ -555,8 +555,7 @@ static int phylink_register_sfp(struct p
+ return ret;
+ }
+
+- pl->sfp_bus = sfp_register_upstream(ref.fwnode, pl->netdev, pl,
+- &sfp_phylink_ops);
++ pl->sfp_bus = sfp_register_upstream(ref.fwnode, pl, &sfp_phylink_ops);
+ if (!pl->sfp_bus)
+ return -ENOMEM;
+
+--- a/drivers/net/phy/sfp-bus.c
++++ b/drivers/net/phy/sfp-bus.c
+@@ -23,7 +23,6 @@ struct sfp_bus {
+
+ const struct sfp_upstream_ops *upstream_ops;
+ void *upstream;
+- struct net_device *netdev;
+ struct phy_device *phydev;
+
+ bool registered;
+@@ -442,13 +441,11 @@ static void sfp_upstream_clear(struct sf
+ {
+ bus->upstream_ops = NULL;
+ bus->upstream = NULL;
+- bus->netdev = NULL;
+ }
+
+ /**
+ * sfp_register_upstream() - Register the neighbouring device
+ * @fwnode: firmware node for the SFP bus
+- * @ndev: network device associated with the interface
+ * @upstream: the upstream private data
+ * @ops: the upstream's &struct sfp_upstream_ops
+ *
+@@ -459,7 +456,7 @@ static void sfp_upstream_clear(struct sf
+ * On error, returns %NULL.
+ */
+ struct sfp_bus *sfp_register_upstream(struct fwnode_handle *fwnode,
+- struct net_device *ndev, void *upstream,
++ void *upstream,
+ const struct sfp_upstream_ops *ops)
+ {
+ struct sfp_bus *bus = sfp_bus_get(fwnode);
+@@ -469,7 +466,6 @@ struct sfp_bus *sfp_register_upstream(st
+ rtnl_lock();
+ bus->upstream_ops = ops;
+ bus->upstream = upstream;
+- bus->netdev = ndev;
+
+ if (bus->sfp) {
+ ret = sfp_register_bus(bus);
+@@ -591,7 +587,7 @@ struct sfp_bus *sfp_register_socket(stru
+ bus->sfp = sfp;
+ bus->socket_ops = ops;
+
+- if (bus->netdev) {
++ if (bus->upstream_ops) {
+ ret = sfp_register_bus(bus);
+ if (ret)
+ sfp_socket_clear(bus);
+@@ -611,7 +607,7 @@ EXPORT_SYMBOL_GPL(sfp_register_socket);
+ void sfp_unregister_socket(struct sfp_bus *bus)
+ {
+ rtnl_lock();
+- if (bus->netdev)
++ if (bus->upstream_ops)
+ sfp_unregister_bus(bus);
+ sfp_socket_clear(bus);
+ rtnl_unlock();
+--- a/include/linux/sfp.h
++++ b/include/linux/sfp.h
+@@ -464,7 +464,6 @@ enum {
+ struct fwnode_handle;
+ struct ethtool_eeprom;
+ struct ethtool_modinfo;
+-struct net_device;
+ struct sfp_bus;
+
+ /**
+@@ -510,7 +509,7 @@ int sfp_get_module_eeprom(struct sfp_bus
+ void sfp_upstream_start(struct sfp_bus *bus);
+ void sfp_upstream_stop(struct sfp_bus *bus);
+ struct sfp_bus *sfp_register_upstream(struct fwnode_handle *fwnode,
+- struct net_device *ndev, void *upstream,
++ void *upstream,
+ const struct sfp_upstream_ops *ops);
+ void sfp_unregister_upstream(struct sfp_bus *bus);
+ #else
+@@ -555,8 +554,7 @@ static inline void sfp_upstream_stop(str
+ }
+
+ static inline struct sfp_bus *sfp_register_upstream(
+- struct fwnode_handle *fwnode,
+- struct net_device *ndev, void *upstream,
++ struct fwnode_handle *fwnode, void *upstream,
+ const struct sfp_upstream_ops *ops)
+ {
+ return (struct sfp_bus *)-1;