linux 平台裝置驅動模型
一。平台匯流排概述
1. 平台匯流排(platform bus)是linux2.6核心加入的一種虛擬匯流排,
其優勢在於採用了匯流排的模型對裝置與驅動進行了管理,這樣提高了程式的可移植性
二。平台裝置
1. 平台裝置使用structplatform_device來描述:
struct platform_device
const char *name; /*裝置名*/
intid; /*裝置編號,配合裝置名使用*/
struct device dev;
u32 num_resources;
struct resource*resource; /*裝置資源*/
struct resource
resource_size_t start;
resource_size_t end;
const char *name;
unsigned long flags; /*資源的型別*/
struct resource *parent, *sibling, *child;
2. 註冊平台裝置
int platform_device_register(struct platform_device*pdev)
三。平台驅動
1. 平台驅動使用structplatform_driver描述:
struct platform_driver
int(*probe)(struct platform_device*);
int(*remove)(struct platform_device*);
2. 平台註冊使用函式
int platform_driver_register(struct platform_driver*)
Linux平台匯流排驅動裝置模型
platform匯流排是一種虛擬的匯流排,相應的裝置則為platform device,而驅動則為platform driver。linux 2.6的裝置驅動模型中,把i2c rtc lcd等都歸納為platform device。匯流排將裝置和驅動繫結,在系統每註冊乙個裝置的時候,會尋找與之匹配的...
linux核心的裝置驅動模型和平台裝置驅動
為了解決這種驅動 和裝置資訊耦合的問題,linux 提出了裝置驅動模型。裝置驅動模型中包括匯流排,驅動,裝置。在裝置驅動模型中,引入匯流排的概念可以對驅動 和裝置資訊進行分離。對於i2c spi usb這類常見的物理匯流排來說,linux核心回自動建立與之對應的驅動匯流排,因此i2c裝置,spi裝置...
Linux裝置驅動模型
核心版本 2.6.29 裝置驅動模型框架是linux驅動程式設計的基礎。它通過kobject,kset,ktype等底層資料結構將bus type,device,device driver 等高層資料結構組織起來,形成乙個層次 分類清晰的驅動模型。優點如下 1.重用。將物件抽象為匯流排 驅動 裝置三...