static struct class *myclass;
myclass = class_create(THIS_MODULE,DEVICE_NAME);
/*创建设备节点*/
device_create(myclass,NULL,MKDEV(numdev_major,numdev_minor+i),NULL,DEVICE_NAME"%d",i);
/*释放设备class*/
class_destroy(myclass);
/*释放内存*/
kfree(my_devices);
- 函数class_create创建class类文件
- 参数1:一般是THIS_MODULE
- 参数2:设备名称
- 创建一个设备类,用于设备节点文件的创建
- 返回一个class结构体变量 - class结构体变量
- class是设备驱动模型中通用的设备类结构
- 在头文件include/linux/device.h的280行 - 创建设备节点函数device_create
- 头文件include/linux/device.h中
- 参数1:设备所属于的类
- 参数2:设备的父设备,NULL
- 参数3:设备号
- 参数4:设备数据,NULL
- 参数5:设备名称 - 摧毁设备节点函数device_destroy
- 参数1:设备所属于的类
- 参数2:设备号