> +static int mt7530_isolate_ephy(struct dsa_switch *ds,
> + struct device_node *ephy_node)
> +{
> + struct phy_device *phydev = of_phy_find_device(ephy_node);
> + int ret;
> +
> + if (!phydev)
> + return 0;
> +
> + ret = phy_modify(phydev, MII_BMCR, 0, (BMCR_ISOLATE | BMCR_PDOWN));
genphy_suspend() does what you want.
> + if (ret)
> + dev_err(ds->dev, "Failed to put phy %s in isolation mode!\n",
> + ephy_node->full_name);
> + else
> + dev_info(ds->dev, "Phy %s in isolation mode!\n",
> + ephy_node->full_name);
No need to clog up the system with yet more kernel messages.
Andrew