设备模型
内核对设备进行分类,以层次结构组织管理成为设备结构
/sys/devices 下显示了所有的设备
/sys/bus 按照总线分类显示了所有设备
/sys/class 按照功能类型分类显示了所有设备
驱动和设备都会在总线上注册
/sys/bus
不需要总线的设备将会注册到flatform总线上
为了达到驱动与平台的无关性使用设备模型规范编写代码
创建设备结构体
struct platform_device test_device = {
.id = -1,
.name = "test_device",
.dev.release = device_release,
};
.id = -1,
.name = "test_device",
.dev.release = device_release,
};
创建对应驱动结构体
struct platform_driver test_driver = {
.probe = driver_probe,
.remove = __devexit_p(driver_remove),
.driver = {
.name = "test_device",
},
};
.probe = driver_probe,
.remove = __devexit_p(driver_remove),
.driver = {
.name = "test_device",
},
};
注册设备
platform_device_register(&test_device);
注册驱动
platform_driver_register(&test_driver);
platform_driver_register(&test_driver);
当设备与驱动匹配时,将会执行probe函数。
probe函数入参有resource资源

1013

被折叠的 条评论
为什么被折叠?



