int __init wwinit(void)
else
ret = pci_register_driver(&wwcodec);
if (!ret)
else
return 0;
}以上3處列印資訊,在安裝wwcode.ko模組的時候,列印出來的資訊顯示:
wwcodec((0.1.1-dev-14-03-12-1405)) -- wwinit: entering - vid=0x140a, did=0x100
wwcodec((0.1.1-dev-14-03-12-1405)) -- wwinit: device major number = 252
由以上列印資訊可以看出,probe函式的呼叫時機為_init函式裡動態申請完裝置號後,應該是在執行ret = pci_register_driver(&wwcodec);
函式的時候呼叫probe函式尋找裝置。找到之後才註冊驅動。
pci_register_driver()->__pci_register_driver()->driver_register()->bus___pci_device_probeadd_driver()->driver_attach()->__driver_attach()->driver_probe_device()->really_probe()->pci_device_probe()->pci_call_probe->probe
platform匯流排的probe函式呼叫
我們知道,platform匯流排提供了裝置和驅動的mach函式,當裝置和驅動匹配完成後,就會執行驅動的probe函式,但是這個probe函式是如何被呼叫的呢。probe函式在裝置驅動註冊最後收尾工作,當裝置的device 和其對應的driver 在匯流排上完成配對之後,系統就呼叫platform裝置...
probe函式何時呼叫的
linux中 probe函式何時呼叫的 所以的驅動教程上都說 只有裝置和驅動的名字匹配,bus就會呼叫驅動的probe函式,但是有時我們要看看probe函式裡面到底做了什麼,還有傳遞給probe函式的引數我們就不知道在哪定義 反正不是我們在驅動裡定義的 如果不知道傳遞進的引數,去看probe函式總是...
裝置驅動以及probe的思考
最近無意中有看了一遍platform機制,發現之前對它的理解有誤,以及對probe探測函式的困擾。特此梳理一下。linux驅動模型中的三個基本概念是 驅動 裝置 匯流排。無論是裝置還是驅動在註冊是都會掛在匯流排上。匯流排負責驅動和裝置的匹配。但是有一些裝置是沒有匯流排這種概念的,比如led,於是li...