天天看点

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

继续阅读