static struct char_device_struct {
struct char_device_struct *next; //链表指向下一个对象
unsigned int major; // 主设备号
unsigned int baseminor; //次设备号基准
int minorct; //次设备数量
char name[64]; //名字
struct cdev *cdev; /* will die */
} *chrdevs[CHRDEV_MAJOR_HASH_SIZE];
struct cdev {
struct kobject kobj;//kobject_init(&p->kobj, &ktype_cdev_dynamic);
struct module *owner;
const struct file_operations *ops; //文件调用接口 filp->f_op = fops_get(p->ops);
struct list_head list;//list_add(&inode->i_devices, &p->list);
dev_t dev; //设备号
unsigned int count; //设备数量
};