一开接触设备树,我就不知道设备树与驱动的关系,设备树是在内核3.0以后才有的。不过3.0以前的和3.0以后的驱动其实变化不大。
驱动的开发方法可以分为三种:传统方法,总线方法,设备树方法。
这篇文章围绕点亮一颗LED来说明这三种方法。
驱动流程分为5个部分:1、分配 2、设置 3、注册file_operation 4、入口 5、出口
一、传统方法
传统方法就是简单粗暴方法,就是将IO设置,驱动放在同一个文件(drv.c)。
drv.c:定义引脚信息:
drv.c:驱动中的open函数:
drv.c:驱动中的close函数:
drv.c: