字符设备驱动在初始化时都做些什么?
1.在编译驱动前,需要将创建好相应的gpio设备树
2.获取设备树的设备节点
of_find_node_by_path("/...")
3.获取设备树中的gpio属性,得到设备所用的GPIO编号
of_get_named_gpio()
4.设置GPIO的输出方向
gpio_direction_output()
5.下面时注册字符设备驱动,首先创建设备号
register_chrdev_region();注册设备号
alloc_chrdev_region();自动分配设备号
6.初始化cdev
cdev_init();
这里需要实例化结构体file_optations,用来操作实际的字符函数
7.创建类
class_create()
8.创建设备
device_create()