关于linux设备驱动模型,今天做一个简单的理解总结,可能有错误,后面可能会更正

关于linux设备驱动模型,今天做一个简单的理解总结,可能有错误,后面可能会更正。
1,在module_init(test_init);中间调用的test_init里面,一般会调用两个初始化,设备初始化和驱动初始化
     platform_device_register(&test_device);
    return platform_driver_register(&test_driver);
2,设备初始化的主要目的就是在sys的系统设备中建立设备的数据机构和相关拓扑。sysfs的主要作用就是记录整个系统的设备拓扑,特别是资源使用情况。
3,驱动的初始化,就是把驱动程序中间需要实时待定的东西,例如拓扑和资源等,给确定下来,确定之后,驱动程序就可以正常工作了。
   这个初始化是靠probe函数的完成,从platform_driver_register逐层调用,一步一步引到probe这个函数上的。
4,正常工作就是可以使用linux系统的内核接口来运行程序了,在用户空间就是open,write以及io control等功能。

你可能感兴趣的:(关于linux设备驱动模型,今天做一个简单的理解总结,可能有错误,后面可能会更正)