在 linux 内核 4.5 及更高版本中,struct phy_device 的 dev 成员发生了什么变化?

What happened to dev member of struct phy_device in linux kernel 4.5 and higher?

linux 内核 4.4 已将结构 phy_device 定义为

363 struct phy_device {
364         /* Information about the PHY type */
365         /* And management functions */
366         struct phy_driver *drv;
367 
368         struct mii_bus *bus;
369 
370         struct device dev;

内核 4.5 现在有:

361 struct phy_device {
362         struct mdio_device mdio;
363 
364         /* Information about the PHY type */
365         /* And management functions */
366         struct phy_driver *drv;
367 
368         u32 phy_id;

dev 成员怎么了?

替换为struct mdio_device; 提交消息说

"Not all devices attached to an MDIO bus are phys. So add an mdio_device structure to represent the generic parts of an mdio device, and place this structure into the phy_device."

看看这个 patch 合并了这个变化。

查看更改 only in phy.h 以了解您需要如何调整您的驱动程序。

希望这些信息能指导您相应地移植驱动程序。