int dsa_slave_suspend(struct net_device *slave_dev) { struct dsa_slave_priv *p = netdev_priv(slave_dev); if (p->phy) { phy_stop(p->phy); p->old_pause = -1; p->old_link = -1; p->old_duplex = -1; phy_suspend(p->phy); } return 0; }
static int hns_nic_config_phy_loopback(struct phy_device *phy_dev, u8 en) { int err; if (en) { /* Doing phy loopback in offline state, phy resuming is * needed to power up the device. */ err = phy_resume(phy_dev); if (err) goto out; err = phy_loopback(phy_dev, true); } else { err = phy_loopback(phy_dev, false); if (err) goto out; err = phy_suspend(phy_dev); } out: return err; }