天天看點

linux 2.6.17-IDE驅動程式源代碼分析

塊裝置子系統是Linux中一個很重要的子產品,在inode中有個字段是block_device類型的,它指向一個塊裝置,但是注意這裡的“塊裝置”和 裝置驅動裡面的塊裝置的差别是非常大的,這裡的塊裝置是一個比較高層的概念,而最底層的塊裝置在檔案系統還觸及不到。還是按照往常的方式來分析一下代碼:首先看一下 

struct bus_type ide_bus_type = { 

.name = "ide", 

.match = ide_bus_match, 

.uevent = ide_uevent, 

.probe = generic_ide_probe, 

.remove = generic_ide_remove, 

.shutdown = generic_ide_shutdown, 

.dev_attrs = ide_dev_attrs, 

.suspend = generic_ide_suspend, 

.resume = generic_ide_resume, 

}; 

如果新加入一個裝置或者驅動的時候就要進行枚舉,這是很明了的了,一旦比對成功則要調用總線或者驅動的 

Probe函數,這裡是generic_ide_probe: 

static int generic_ide_probe(struct device *dev) 

 本文轉自 dog250 51CTO部落格,原文連結:http://blog.51cto.com/dog250/1273946

繼續閱讀