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匹配