主设备号和次设备号
主设备号:通常用来表示设备对应的驱动程序
次设备号:由内核使用,用于正确确定设备文件所指的设备
主设备号和次设备号共同确定了设备文件在内核中的唯一性
设备编号
内核使用dev_t来保存设备编号(包括12位主设备号和20位次设备号),相关头文件#include #include
dev_t = MKDEV(int major,int minor)
major = MAJOR(dev_t)
minor = MINOR(dev_t)
创建字符设备驱动
alloc_chrdev_region(&dev_id,0,1,name) //动态分配dev_id
cdev_init(&cdev,&file_ops)
cdev_add(&cdev,dev_id,1)
class = class_create(THIS_MODULE,name)
device_create(class,NULL,dev_id,NULL,name) //直接在/dev/下创建设备节点
移除字符设备驱动
device_destroy(class,dev_t)
class_destroy(class)
cdev_del(&cdev)
unregister_chrdev_region(dev_t,1)
相关头文件
#include
#include
#include
阅读(378) | 评论(0) | 转发(0) |