我是靠谱客的博主 超帅云朵,这篇文章主要介绍phy device的添加流程,现在分享给大家,希望可以做个参考。

phy device的添加流程,了解linux驱动中的 驱动、设备、总线 模型。

 

 

phydev = mdiobus_scan(bus, i) 这里的scan,并不仅仅是扫描,而且还包括创建。mdiobus_scan()主要调用了get_phy_device()和phy_device_register()。get_phy_device()里面主要有get_phy_id() 和 phy_device_create() 。 函数int get_phy_id()通过MII BUS总线,读寄存器MII_PHYSID1(高16位)、MII_PHYSID2(低16位)得到。phy_device_create() 创建了一个phy设备,完成了一些speed、duplex 、addr、phy_id等等默认初始化。看一下函数定义

 

 

 

phy_device_register() 调用device_register()

 

 

 

device_add()东西比较多,以后再看。

 

 

由此可见,phy设备的添加,是在注册mdio总线的时候。

 

简单地,phy device设备的添加流程:mdiobus_register() ----> mdiobus_scan() ----> phy_device_register() ----> device_register() ----> device_add() 。
platform device 的添加流程:platform_add_devices() ----> device_add()

 

 

最后

以上就是超帅云朵最近收集整理的关于phy device的添加流程的全部内容,更多相关phy内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(411)

评论列表共有 0 条评论

立即
投稿
返回
顶部