iT邦幫忙

DAY 14
0

Linux kernel模組的開發系列 第 14

在 kernel 中註冊 driver

在系統中新增一個 driver,即代表是在 kernel 中註冊一個位置,此刻會在 /dev/ 目錄底下建立一個檔案,同時賦予這個 driver 相對的 maojr 與 minor number。例如註冊一個 character driver 使用的 register_chrdev() 函數 (定義在 linux/fs.h 中):

int register_chrdev(unsigned int major, const char *name, struct file_operations *fops);

unsigned int major 是 driver 的 major number,const char *name 是 driver 的名稱 (會出現在 /proc/devices 中),而 struct file_operations *fops 指向 kernel 定義的 file_operations 結構中。這個檔案結構定義了 driver 的所有檔案操作的動作。而我們要知道,這裡所指的檔案跟一般在 user space 中的檔案不同。


上一篇
Device driver
下一篇
在 kernel 中移除 (反註冊) driver
系列文
Linux kernel模組的開發30

尚未有邦友留言

立即登入留言