字符设备在linux内核中用cdev来描述
struct cdev{
struct kobject kobj;
struct module *owner;//所属模块;
const struct file_operations *ops;//文件操作结构,在写驱动时,大部分函数要实现;
struct list_head list;
dev_t dev;//设备号,int类型,高12位为主设备号,低20位为次设备号;
unsigned int count;
};
可以使用如下宏来获得主次设备号:
MAJOR(dev_t dev);
MINOR(dev_t dev);
MKDEV(int major,int minor); //通过主次设备号来生成设备号(dev_t);