> +static int dp83822_suspend(struct phy_device *phydev) > +{ > + int value; > + > + mutex_lock(&phydev->lock); > + > + value = phy_read_mmd(phydev, DP83822_DEVADDR, > MII_DP83822_WOL_CFG); > + if (~value & DP83822_WOL_EN) { Same result, but how about " if (!(value & DP83822_WOL_EN))" ?
> + value = phy_read(phydev, MII_BMCR); > + phy_write(phydev, MII_BMCR, value | BMCR_PDOWN); > + } > + > + mutex_unlock(&phydev->lock); > + > + return 0; > +}