嵌入式Linux的USB驅動設計
1.3 USB驅動程序框架
1.3.1 基本數(shù)據結構
usb-skel設備使用自定義結構usb_skel記錄設備驅動用到的所有描述符,該結構定義如下:

1.3.2 驅動程序初始化和注銷
同其他所有的Linux設備驅動程序一樣,usb-skel驅動使用module_init()宏初始化函數(shù),使用module_exit()宏注銷函數(shù)。usb-skel驅動的初始化函數(shù)usb_skel_init()函數(shù),定義如下:

在USB驅動中調用usb_deregister()函數(shù)注銷usb-skel設備驅動,函數(shù)定義如下:

1.3.3 初始化設備
從skel_driver結構可以知道usb-skel設備的初始化函數(shù)是skel_probe()函數(shù),設備初始化主要是探測設備類型,分配USB設備用到的urb資源,注冊USB設備操作函數(shù)等。
skel_class結構變量記錄了usb-skel設備信息,定義如下:

評論