diff options
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.patch | 118 |
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; |