u8 led_num,
u8 mode)
{
- int rc;
- u16 reg_val;
-
- mutex_lock(&phydev->lock);
- reg_val = phy_read(phydev, MSCC_PHY_LED_MODE_SEL);
- reg_val &= ~LED_MODE_SEL_MASK(led_num);
- reg_val |= LED_MODE_SEL(led_num, (u16)mode);
- rc = phy_write(phydev, MSCC_PHY_LED_MODE_SEL, reg_val);
- mutex_unlock(&phydev->lock);
+ u16 mask = LED_MODE_SEL_MASK(led_num);
+ u16 val = LED_MODE_SEL(led_num, mode);
- return rc;
+ return phy_modify(phydev, MSCC_PHY_LED_MODE_SEL, mask, val);
}
static int vsc85xx_mdix_get(struct phy_device *phydev, u8 *mdix)