為了統一晶元裝置驅動框架
核心中設計了一套
struct bus_type
bus_register
void bus_unregister(struct bus_type *bus);
ls /sys/bus/
struct device
int device_register(struct device *dev);
void device_unregister(struct device *dev);
struct device_driver
int __must_check driver_register(struct device_driver *drv);
void driver_unregister(struct device_driver *drv);
問題:按鍵裝置掛在了哪條匯流排上?沒有掛在具體的匯流排上
那些沒有掛在具體匯流排上的裝置
就無法按照匯流排驅動模型框架完成驅動程式
linux為了該問題,虛擬出了一條匯流排:platform匯流排
讓那些沒有掛在具體匯流排上的裝置,可以人為想象成掛在了platform匯流排上
從而使得該型別裝置也可以按照匯流排驅動模型的框架完成驅動程式
統一了裝置的驅動程式設計框架
平台匯流排驅動模型
arch arm plat s3c24xx devs.c 這個函式實現的平台匯流排模型中的 platform device 1.註冊各種資源 struct resource s3c2410 uart0 resource等各種資源 static struct resource s3c lcd reso...
匯流排 裝置 驅動模型
裝置元素 匯流排,驅動,裝置 匯流排 處理器和裝置之間的通道,在裝置模型中,所有的裝置都通過匯流排相連,甚至是內部的虛擬 platform 匯流排 定時器,看門狗並沒有直接相連 在linux裝置模型中,匯流排由bus type結構表示,定義在 匯流排的註冊使用 bus register struct...
匯流排裝置驅動模型
匯流排裝置驅動模型 匯流排是主機和裝置之間的通道,由bus type 結構描述。int bus register struct bus type bus 匯流排的註冊,若成功,新的匯流排將被新增進系統,並可在 sysfs 的 sys bus 下看到。void bus unregister struc...