裝置驅動模型

2021-06-17 17:03:20 字數 1058 閱讀 6213

隨著技術的不斷進步,系統的拓撲結構也越來越複雜,對智慧型電源管理、熱插拔的支援要求也越來越高,2.4核心已經難以滿足這些需求。為適應這種形勢的需要,linux 2.6核心提供了全新的核心裝置模型。

裝置模型元素:匯流排

驅動裝置

匯流排

匯流排是處理器和裝置之間的通道,在裝置模型中

, 所有的裝置都通過匯流排相連

, 甚至是

內部的虛擬「platform」匯流排。在linux 裝置模型中, 匯流排由bus_type 結構表示, 定義在

匯流排描述

struct bus_type

int bus_create_file(struct bus_type *bus,struct bus_attribute *attr)  建立屬性

void bus_remove_file(struct bus_type*bus, struct bus_attribute *attr) 刪除屬性

例項:bus_basic.c

裝置描述

linux 系統中的每個裝置由乙個struct device 描述:

struct device

驅動註冊/登出

int driver_register(struct device_driver *drv)   註冊驅動

void driver_unregister(struct device_driver *drv)    登出驅動

驅動屬性

驅動的屬性使用struct driver_attribute 來描述:

struct driver_attribute

int driver_create_file(struct device_driver * drv,struct driver_attribute * attr)   建立屬性

void driver_remove_file(struct device_driver * drv,struct driver_attribute * attr)  刪除屬性

例項:driver.c

裝置驅動模型

linux裝置模型中三個很重要的概念就是匯流排 裝置和驅動,即bus,device和driver。它們分別對應的資料結構分別為struct bus type,struct device和struct device driver。struct device 操作函式 註冊 int device reg...

Linux裝置驅動模型

核心版本 2.6.29 裝置驅動模型框架是linux驅動程式設計的基礎。它通過kobject,kset,ktype等底層資料結構將bus type,device,device driver 等高層資料結構組織起來,形成乙個層次 分類清晰的驅動模型。優點如下 1.重用。將物件抽象為匯流排 驅動 裝置三...

匯流排 裝置 驅動模型

裝置元素 匯流排,驅動,裝置 匯流排 處理器和裝置之間的通道,在裝置模型中,所有的裝置都通過匯流排相連,甚至是內部的虛擬 platform 匯流排 定時器,看門狗並沒有直接相連 在linux裝置模型中,匯流排由bus type結構表示,定義在 匯流排的註冊使用 bus register struct...