linux驅動雜項

2021-09-08 16:59:18 字數 620 閱讀 1027

下面我們看乙個例子,linux-2.6.x/drivers/usb/storage/usb.c中有這樣乙個結構體初始化專案:

static struct usb_driver usb_storage_driver = ;

乍一看,這與我們之前學過的結構體初始化差距甚遠。其實這就是前面所說的指定初始化在linux裝置驅動程式中的乙個應用,它源自iso c99標準。

以下我摘錄了c primer plus第五版中相關章節的內容,從而就可以很好的理解2.6版核心採用這種方式的優勢就在於由此

初始化不必嚴格按照定義時的順序。這帶來了極大的靈活性,其更大的益處還有待大家在開發中結合自身的應用慢慢體會。 已知乙個結構,定義如下

struct book ;

c99支援結構的指定初始化專案,其語法與陣列的指定初始化專案近似。只是,結構的指定初始化專案使用點運算子和成員名(而不是方括號和索引值)來標識具體的元素。例如,只初始化book結構的成員value,可以這樣做: struct book surprise = ; 可以按照任意的順序使用指定初始化專案: struct book gift = ; 正像陣列一樣,跟在乙個指定初始化專案之後的常規初始化專案為跟在指定成員後的成員提供了初始值。另外,對特定成員的最後一次賦值是它實際獲得的值。

Linux雜項裝置驅動框架

首先是標頭檔案定義 include include include include 以下是一些file operations中提供的一些函式,這些函式用於給應用層提供介面,以此來調動裝置。static int filename open struct inode my indoe,struct fi...

misc雜項裝置驅動

linux裡面的misc雜項裝置是主裝置號為10的驅動裝置,它的註冊跟使用比較的簡單,所以比較適用於功能簡單的裝置。它有自己的裝置結構體 struct miscdevice 它在標頭檔案linux miscdevice.h裡面有定義,其中minor是misc裝置的副裝置號,misc裝置主要依賴min...

Linxu MISC咋雜項驅動

misc 的意思是混合 雜項的,因此 misc 驅動也叫做雜項驅動,也就是當我們板子上的某些外設無法進行分類的時候就可以使用 misc 驅動。misc 驅動其實就是最簡單的字元裝置驅動,通常巢狀在 platform 匯流排驅動中,實現複雜的驅動。所有的 misc 裝置驅動的主裝置號都為 10,不同的...