混雜裝置驅動

2021-06-16 21:48:13 字數 578 閱讀 7688

混雜裝置驅動程式是那些簡單的字元驅動程式,它們擁有一些相同的特性。核心將這些共同行抽象至乙個api中(具體實現**見 drivers/char/misc),這些簡化了驅動程式的初始化的方式。所有的混雜裝置都被分配乙個主裝置號10,但每個裝置可選擇乙個單獨的次裝置號。

普通的字元驅動程式完成初始化的順序如下。

1,通過alloc_chrdev_region()及相關函式分配主/次裝置號。

2,使用device_create()建立/dev和/sys節點。

3,使用cdev_init()和cdev_add()將自身註冊為字元驅動程式。

混雜驅動只需要呼叫misc_register()即可完成字元驅動的所有步驟:

static struct misdevice mydrv_dev=;

static struct miscdevice misc = ;

static int __init dev_init(void)

static void __exit dev_exit(void)

總的來看混雜裝置驅動程式主要是簡化了驅動程式初始化的方式。

主要是參考<>和友善的按鍵驅動程式。

混雜裝置驅動模型

在linux系統中,存在一類字元裝置,它們擁有相同的主裝置號10,但次裝置號不同,我們稱這類裝置為混雜裝置 miscdevice 所有的混雜裝置形成乙個鍊錶,對裝置訪問時核心根據次裝置號查詢到相應的混雜裝置。如果乙個字元裝置驅動要驅動多個裝置,則它不應該選用混雜裝置來實現。linux中使用struc...

混雜裝置驅動模型

混雜裝置,它們擁有相同的主裝置號 數字10 但次裝置號不同,我們稱這類裝置為混雜裝置 miscdevice 然後呼叫其file operations結構中註冊的檔案操作介面進行操作。對比普通字元裝置操作比較簡單 struct miscdevice 例 static struct miscdevice...

linux混雜裝置驅動

在linux系統中,存在一類字元裝置,它們擁有相同的主裝置號 10 但次裝置號不同,我 們稱這類裝置為混雜裝置 miscdevice 所有的 混雜裝置形成乙個鍊錶,對裝置訪問時核心根據 次裝置號查詢到相應的混雜裝置。linux中使用struct miscdevice來描述乙個混雜裝置。struct ...