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;
 
 
 
        const struct sfp_upstream_ops *upstream_ops;
        void *upstream;
-       struct net_device *netdev;
        struct phy_device *phydev;
 
        bool registered;
 {
        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
  *
  * 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);
                rtnl_lock();
                bus->upstream_ops = ops;
                bus->upstream = upstream;
-               bus->netdev = ndev;
 
                if (bus->sfp) {
                        ret = sfp_register_bus(bus);
                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);
 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();
 
 struct fwnode_handle;
 struct ethtool_eeprom;
 struct ethtool_modinfo;
-struct net_device;
 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
 }
 
 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;