> static void lan88xx_set_mdix(struct phy_device *phydev)
> {
>       int buf;
>       int mask_val;
> 
>       switch (phydev->mdix) {
>       case ETH_TP_MDI:
>               mask_val = LAN88XX_EXT_MODE_CTRL_MDI_;
>               break;
>       case ETH_TP_MDI_X:
>               mask_val = LAN88XX_EXT_MODE_CTRL_MDI_X_;
>               break;
>       case ETH_TP_MDI_AUTO:
>               mask_val = LAN88XX_EXT_MODE_CTRL_AUTO_MDIX_:
>               break:
>       default:
>               return;
>       }
> 
>       phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS,
>                 LAN88XX_EXT_PAGE_SPACE_1);
>       buf = phy_read(phydev, LAN88XX_EXT_MODE_CTRL);
>       buf &= ~LAN88XX_EXT_MODE_CTRL_MDIX_MASK_;
>       buf |= mask_val;
>       phy_write(phydev, LAN88XX_EXT_MODE_CTRL, buf);
>       phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS,
>                 LAN88XX_EXT_PAGE_SPACE_0);
> }
Florian,
Looks simpler to me too. Will submit new patch.

Thanks.
- Woojung

Reply via email to