之前曾将2.6.14下的驱动改到2.6.28,当时修改过class_device_create的问题,并在evernote中记录了下,今天再改有对照,确实方便多了!决定在这里做个备忘!
1. GPIO口的设置
2.6.14中GPIO的参数配置使用结构体struct gpio_params, 2.6.28中提供了gpio_request()等接口,新的接口见<linux/gpio.h>。2.6.28中GPIO控制器均是一个对象,gpio_request()接口封装GPIO控制器对象的方法。
2. PMU复用关系设定
2.6.28中GM写了一个模块进行PMU复用的处理,与内核子系统类似,使用操作前向核心注册,解决2.6.14中可能不同地方配置同一个引脚而无提示信息。现在若之前有注册过,对引脚进行过锁定,则重新注册锁定此引脚会报错。
3. 中断注册
2.6.14中注册快速中断使用“SA_INTERRUPT”,2.6.28中使用“IRQF_DISABLED”,可见<linux/interrupt.h>
4. sysfs下设备节点
2.6.14中使用class_device_create和class_device_destroy,2.6.28中使用device_create和device_destroy,另外参数也有改变。新的接口见于内核头文件<linux/device.h> |