Linux 驅動程式觀念解析, #7: 觀念大追擊

jollen 發表於 May 4, 2006 10:27 AM

您是否能看圖說明範例的觀念。

作者/陳俊宏
www.jollen.org

TIP

fops所指的driver function其實是被Linux kernel所「回呼」(callback)。

Linux驅動程式將fops「註冊」至kernel裡後,並不是被user application直接呼叫,而是透過system call interface,因此fops所指的函數應是被kernel回呼。

Callback的機制有一個好處是,當函數被呼叫時,表示此時系統符合該函數被回呼的條件。因此,driver function可以預期自己是在符合一些條件的環境下執行。Callback機制另一個特點是,Linux kernel會傳遞「適當」的參數給driver function,driver function可以直接使用所接收的參數資料。

這張圖是範例 (debug card 0.1.1) 的執行圖 (Execute Flow/Path),如果您能根據範例程式清楚地說明此圖,表示您已經掌握最主要的 Linux 驅動程式觀念了!

Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue

您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw