linux如何發(fā)現(xiàn)和加載對應(yīng)的USB對應(yīng)的設(shè)備驅(qū)動
1.整體流程
加載USB設(shè)備驅(qū)動-->注冊USB設(shè)備(注冊的USB設(shè)備結(jié)構(gòu)體包含了USB設(shè)備的vender ID和product ID)
USB設(shè)備插入后,匹配到vendor ID和product ID,即調(diào)用改USB注冊結(jié)構(gòu)里的probe函數(shù),開始和USB設(shè)備進(jìn)行通信。
2.USB設(shè)備結(jié)構(gòu)體
static struct usb_driver test_usb_driver={
.OWNER = THIS_MODULE,
.name = "test USB device",
.id_table = test_usb_table_id,
.probe = test_usb_probe,
.disconnect = test_usb_disconnect
};
3.USB設(shè)備table ID
static struct usb_device_id test_usb_table_id={
{USB_DEVICE(TEST_USB_VENDOR_ID,TEST_USB_PRODUCT_ID)};
{}
};
十年的屯留網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整屯留建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“屯留網(wǎng)站設(shè)計”,“屯留網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
擴(kuò)展:
usb設(shè)備table ID對應(yīng)usb_device_id
i2c設(shè)備table ID對應(yīng)i2c_device_id
usb設(shè)備的table id保存在USB設(shè)備內(nèi),在作為device從設(shè)備,插入host(主設(shè)備)后,host通過端口0從usb設(shè)備中讀出來。
i2c設(shè)備則是定義在device tree里,kernel啟動后,遍歷device tree,加載對應(yīng)的i2c設(shè)備驅(qū)動。