1. 下面代码实现了phy驱动的实现和注册
 
2. device tree实现了phy的device
 
3. 在mdio总线注册后,总线会调用总线驱动的match函数,进行device和driver的匹配
static int mdio_bus_match(struct device *dev, struct device_driver *drv)
 
     return (phydrv->phy_id & phydrv->phy_id_mask) ==
 (phydev->phy_id & phydrv->phy_id_mask);
最终是匹配的phy_id,匹配到Micrel KSZ8081 or KSZ8091
4. phy_id的获取代码
 
这里打印出的phy_id为221560,正好与#define PHY_ID_KSZ8081 0x00221560匹配