我是靠谱客的博主 超帅云朵,最近开发中收集的这篇文章主要介绍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 device的添加流程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部