##這裡主要是driver端
在drivers/net/phy裡面針對某一品牌的網路交換裝置有乙個檔案 例如 smsc ,有乙個smsc.c
該品牌有多個裝置.每個裝置對應乙個結構體,因此組成了乙個結構體陣列
陣列元素型別 : struct phy_driver
陣列元素舉例
}
針對陣列中的每個元素都會註冊一次
每個裝置的註冊流程
1/填充陣列元素中的driver結構體(型別struct device_driver)
new_driver->driver.name = new_driver->name;
new_driver->driver.bus =
&mdio_bus_type;
new_driver->driver.probe = phy_probe;
new_driver->driver.remove = phy_remove;
引數說明
1/
new_driver->name =
"smsc lan911x internal phy"
;
2/
struct bus_type mdio_bus_type =
;
3/
phy_probe 一品牌的裝置共用乙個
4/phy_remove 一品牌的裝置公用乙個
2/註冊
driver_register(&new_driver->driver);
配置核心
device drivers --
->[*
] network device support --
->
<
*> phy device support and infrastructure --
->
<
> drivers for smsc phys
注意,最後匹配的並不是 phy_driver 和 phy_device
而是phy_driver中的driver和phy_device匹配
MDIO匯流排相關 3
這裡主要是匹配 匯流排匹配 struct bus type mdio bus type 從上面的結構體可以看出,linux中有多種匯流排型別.估計是從來匹配的.例如platform的 struct bus type platform bus type 可以看出和猜想一致 接下來看一下我們關心的匹配的...
MDIO匯流排相關 4
mdio 在drivers net ethernet hieth gmac 下面有乙個檔案higmac.c 裡面實現了乙個platform框架,並且建立了乙個雜項裝置.ret platform device register higmac platform device if ret ret pla...
CAN匯流排學習 1
最近開始學習can,希望每天能夠做些筆記,有所積累。本文基於weixin 40528417博主的內容。1 位定時1.1 位速率 位速率 又叫做位元率 bit rata 資訊傳輸率,表示的是單位時間內,匯流排上傳輸的資訊量,即每秒能夠傳輸的二進位制位的數量,單位是bit per second。1.2 ...