phy device的新增流程

2021-06-19 19:13:11 字數 2103 閱讀 5818

phy device的新增流程,了解linux驅動中的 驅動、裝置、匯流排 模型。

[cpp]view plain

copy

print?

87 int mdiobus_register(struct mii_bus *bus)  

88   

124                 }  

125         }  

//  省略。。。。。。

138 }  

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等等預設初始化。看一下函式定義

[cpp]view plain

copy

print?

182 struct phy_device *mdiobus_scan(struct mii_bus *bus, int addr)  

183   

phy_device_register() 呼叫device_register()

[cpp]view plain

copy

print?

251 int phy_device_register(struct phy_device *phydev)  

252   

device_register()呼叫 device_add()  

1040 int device_register(struct device *dev)  

1041   

device_add()東西比較多,以後再看。

[cpp]view plain

copy

print?

891 int device_add(struct device *dev)  

892   

//  省略。。。。。。

955         error = device_add_class_symlinks(dev);  

956         if (error)  

957                 goto symlinkerror;  

958         error = device_add_attrs(dev);  

959         if (error)  

960                 goto attrserror;  

961         error = bus_add_device(dev);  

962         if (error)  

963                 goto buserror;  

964         error = dpm_sysfs_add(dev);  

965         if (error)  

966                 goto dpmerror;  

967         device_pm_add(dev);  

//  省略。。。。。。

1023 }  

由此可見,phy裝置的新增,是在註冊mdio匯流排的時候。

簡單地,phy device裝置的新增流程:mdiobus_register() ----> mdiobus_scan() ----> phy_device_register() ----> device_register() ----> device_add() 。

platform device 的新增流程:platform_add_devices() ----> device_add()

原文見:

Apache新增ssl的流程

apache新增 ssl的流程 1.首先保證安裝了 openssl 並且能夠在在終端執行它。2.為你的 apache 三倍 des 加密,pem 格式 建立乙個 rsa私鑰。openssl genrsa des3 out server.key 1024 請將你的 server.key 檔案備份,並且...

zabbix新增主機流程

1新增host 以及新增host group 2鏈結到組的item模板 3看需求disable 不需要的item項 4檢視latest date 5 trigger看需求,關掉不需要的 6新增user以及郵件 給supper admin許可權,否則無法收到郵件 7配置action,盡量clone a...

數字流程中新增PAD流程總結

想寫這個內容大概是在半個月之前吧,苦於沒有比較系統的介紹pad的放置的教程,一直在到處收集摸索,現在把自己的經驗大致總結一下 首先闡明一點,這次放置的pad只是應專案需要,在晶元外面新增一些備用的框框給後端使用,因此具體到手動新增時,不知道會不會有什麼問題 1.首先,可以將pad分為兩類,一種是類似...