diff options
Diffstat (limited to 'drivers/net/phy/mediatek')
| -rw-r--r-- | drivers/net/phy/mediatek/mtk-phy-lib.c | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/drivers/net/phy/mediatek/mtk-phy-lib.c b/drivers/net/phy/mediatek/mtk-phy-lib.c index 608072fbfde9..4c4eca870bde 100644 --- a/drivers/net/phy/mediatek/mtk-phy-lib.c +++ b/drivers/net/phy/mediatek/mtk-phy-lib.c @@ -136,22 +136,15 @@ int mtk_phy_led_hw_ctrl_get(struct phy_device *phydev, u8 index, if (blink < 0) return -EIO; - if ((on & (on_set | MTK_PHY_LED_ON_FDX | - MTK_PHY_LED_ON_HDX | MTK_PHY_LED_ON_LINKDOWN)) || - (blink & (rx_blink_set | tx_blink_set))) - set_bit(bit_netdev, &priv->led_state); - else - clear_bit(bit_netdev, &priv->led_state); + assign_bit(bit_netdev, &priv->led_state, + (on & (on_set | MTK_PHY_LED_ON_FDX | MTK_PHY_LED_ON_HDX | + MTK_PHY_LED_ON_LINKDOWN)) || + (blink & (rx_blink_set | tx_blink_set))); - if (on & MTK_PHY_LED_ON_FORCE_ON) - set_bit(bit_on, &priv->led_state); - else - clear_bit(bit_on, &priv->led_state); + assign_bit(bit_on, &priv->led_state, on & MTK_PHY_LED_ON_FORCE_ON); - if (blink & MTK_PHY_LED_BLINK_FORCE_BLINK) - set_bit(bit_blink, &priv->led_state); - else - clear_bit(bit_blink, &priv->led_state); + assign_bit(bit_blink, &priv->led_state, + blink & MTK_PHY_LED_BLINK_FORCE_BLINK); if (!rules) return 0; @@ -254,10 +247,7 @@ int mtk_phy_led_hw_ctrl_set(struct phy_device *phydev, u8 index, } } - if (blink || on) - set_bit(bit_netdev, &priv->led_state); - else - clear_bit(bit_netdev, &priv->led_state); + assign_bit(bit_netdev, &priv->led_state, blink || on); ret = phy_modify_mmd(phydev, MDIO_MMD_VEND2, index ? MTK_PHY_LED1_ON_CTRL : MTK_PHY_LED0_ON_CTRL, |
