MDIO匯流排相關 3

2021-07-29 17:11:44 字數 897 閱讀 3103

##這裡主要是匹配

匯流排匹配

struct bus_type mdio_bus_type =

;

從上面的結構體可以看出,linux中有多種匯流排型別.估計是從來匹配的.

例如platform的

struct bus_type platform_bus_type =

;

可以看出和猜想一致

接下來看一下我們關心的匹配的匯流排

/**

* mdio_bus_match - determine if given phy driver supports the given phy device

* @dev: target phy device

* @drv: given phy driver

* * description: given a phy device, and a phy driver, return 1 if

* the driver supports the device. otherwise, return 0.

*/static

in***io_bus_match

(struct device *dev,

struct device_driver *drv)

可以看出來是根據是根據phy_id & phy_id_mask 是否想等來確定的.

那這個函式是誰呼叫的呢?應該是核心裡面的核心吧.找不到

可以看到,最後一句裡面的東西

關於driver端

是struct phy_driver 中的 struct device_driver driver;(後來被填充了)

關於device段

MDIO匯流排相關 1

這裡主要是driver端 在drivers net phy裡面針對某一品牌的網路交換裝置有乙個檔案 例如 smsc 有乙個smsc.c 該品牌有多個裝置.每個裝置對應乙個結構體,因此組成了乙個結構體陣列 陣列元素型別 struct phy driver 陣列元素舉例 針對陣列中的每個元素都會註冊一次...

MDIO匯流排相關 4

mdio 在drivers net ethernet hieth gmac 下面有乙個檔案higmac.c 裡面實現了乙個platform框架,並且建立了乙個雜項裝置.ret platform device register higmac platform device if ret ret pla...

L3匯流排介面

下面介紹一下l3匯流排介面 一些codec 晶元中使用,eg uda1341 l3就是line 3 3條線 的意思,它只有l3data 資料線 用於傳輸資料 l3mode 模式線 用於選擇模式 l3clock 時鐘線 用於傳輸時鐘 l3一共有兩個模式 位址模式和資料傳輸模式,先傳輸位址模式資料,再傳...