cpu_dp->tag_ops = tag_ops;
 }
 
-static struct phy_device *dsa_port_get_phy_device(struct dsa_port *dp)
-{
-       struct device_node *phy_dn;
-       struct phy_device *phydev;
-
-       phy_dn = of_parse_phandle(dp->dn, "phy-handle", 0);
-       if (!phy_dn)
-               return NULL;
-
-       phydev = of_phy_find_device(phy_dn);
-       if (!phydev) {
-               of_node_put(phy_dn);
-               return ERR_PTR(-EPROBE_DEFER);
-       }
-
-       of_node_put(phy_dn);
-       return phydev;
-}
-
 static struct phylink_pcs *
 dsa_port_phylink_mac_select_pcs(struct phylink_config *config,
                                phy_interface_t interface)
                                           phy_interface_t interface)
 {
        struct dsa_port *dp = dsa_phylink_to_port(config);
-       struct phy_device *phydev = NULL;
        struct dsa_switch *ds = dp->ds;
 
-       if (dsa_port_is_user(dp))
-               phydev = dp->user->phydev;
-
-       if (!ds->ops->phylink_mac_link_down) {
-               if (ds->ops->adjust_link && phydev)
-                       ds->ops->adjust_link(ds, dp->index, phydev);
+       if (!ds->ops->phylink_mac_link_down)
                return;
-       }
 
        ds->ops->phylink_mac_link_down(ds, dp->index, mode, interface);
 }
        struct dsa_port *dp = dsa_phylink_to_port(config);
        struct dsa_switch *ds = dp->ds;
 
-       if (!ds->ops->phylink_mac_link_up) {
-               if (ds->ops->adjust_link && phydev)
-                       ds->ops->adjust_link(ds, dp->index, phydev);
+       if (!ds->ops->phylink_mac_link_up)
                return;
-       }
 
        ds->ops->phylink_mac_link_up(ds, dp->index, mode, interface, phydev,
                                     speed, duplex, tx_pause, rx_pause);
        dp->pl = NULL;
 }
 
-static int dsa_shared_port_setup_phy_of(struct dsa_port *dp, bool enable)
-{
-       struct dsa_switch *ds = dp->ds;
-       struct phy_device *phydev;
-       int port = dp->index;
-       int err = 0;
-
-       phydev = dsa_port_get_phy_device(dp);
-       if (!phydev)
-               return 0;
-
-       if (IS_ERR(phydev))
-               return PTR_ERR(phydev);
-
-       if (enable) {
-               err = genphy_resume(phydev);
-               if (err < 0)
-                       goto err_put_dev;
-
-               err = genphy_read_status(phydev);
-               if (err < 0)
-                       goto err_put_dev;
-       } else {
-               err = genphy_suspend(phydev);
-               if (err < 0)
-                       goto err_put_dev;
-       }
-
-       if (ds->ops->adjust_link)
-               ds->ops->adjust_link(ds, port, phydev);
-
-       dev_dbg(ds->dev, "enabled port's phy: %s", phydev_name(phydev));
-
-err_put_dev:
-       put_device(&phydev->mdio.dev);
-       return err;
-}
-
-static int dsa_shared_port_fixed_link_register_of(struct dsa_port *dp)
-{
-       struct device_node *dn = dp->dn;
-       struct dsa_switch *ds = dp->ds;
-       struct phy_device *phydev;
-       int port = dp->index;
-       phy_interface_t mode;
-       int err;
-
-       err = of_phy_register_fixed_link(dn);
-       if (err) {
-               dev_err(ds->dev,
-                       "failed to register the fixed PHY of port %d\n",
-                       port);
-               return err;
-       }
-
-       phydev = of_phy_find_device(dn);
-
-       err = of_get_phy_mode(dn, &mode);
-       if (err)
-               mode = PHY_INTERFACE_MODE_NA;
-       phydev->interface = mode;
-
-       genphy_read_status(phydev);
-
-       if (ds->ops->adjust_link)
-               ds->ops->adjust_link(ds, port, phydev);
-
-       put_device(&phydev->mdio.dev);
-
-       return 0;
-}
-
 static int dsa_shared_port_phylink_register(struct dsa_port *dp)
 {
        struct dsa_switch *ds = dp->ds;
                                        dsa_switches_apply_workarounds))
                return -EINVAL;
 
-       if (!ds->ops->adjust_link) {
-               if (missing_link_description) {
-                       dev_warn(ds->dev,
-                                "Skipping phylink registration for %s port %d\n",
-                                dsa_port_is_cpu(dp) ? "CPU" : "DSA", dp->index);
-               } else {
-                       dsa_shared_port_link_down(dp);
+       if (missing_link_description) {
+               dev_warn(ds->dev,
+                        "Skipping phylink registration for %s port %d\n",
+                        dsa_port_is_cpu(dp) ? "CPU" : "DSA", dp->index);
+       } else {
+               dsa_shared_port_link_down(dp);
 
-                       return dsa_shared_port_phylink_register(dp);
-               }
-               return 0;
+               return dsa_shared_port_phylink_register(dp);
        }
 
-       dev_warn(ds->dev,
-                "Using legacy PHYLIB callbacks. Please migrate to PHYLINK!\n");
-
-       if (of_phy_is_fixed_link(dp->dn))
-               return dsa_shared_port_fixed_link_register_of(dp);
-       else
-               return dsa_shared_port_setup_phy_of(dp, true);
+       return 0;
 }
 
 void dsa_shared_port_link_unregister_of(struct dsa_port *dp)
 {
-       struct dsa_switch *ds = dp->ds;
-
-       if (!ds->ops->adjust_link && dp->pl) {
+       if (dp->pl) {
                rtnl_lock();
                phylink_disconnect_phy(dp->pl);
                rtnl_unlock();
                dsa_port_phylink_destroy(dp);
                return;
        }
-
-       if (of_phy_is_fixed_link(dp->dn))
-               of_phy_deregister_fixed_link(dp->dn);
-       else
-               dsa_shared_port_setup_phy_of(dp, false);
 }
 
 int dsa_port_hsr_join(struct dsa_port *dp, struct net_device *hsr,