一:分配和释放设备号
1,动态分配:
dev:高12位为主设备号,低20位为次设备号;baseminor:次设备号起始地址;count:请求分配设备号数量;name:设备名
int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const char *name)
2,静态分配:
form:要分配的设备号;count:申请数量;name:设备名
int register_chrdev_region(dev_t from, unsigned count, const char *name)
3,释放设备号:
void unregister_chrdev_region(dev_t from, unsigned count)
二:注册新字符设备
1,字符设备结构:struct cdev
struct cdev {
struct kobject kobj;
struct module *owner;
const struct file_operations *ops;
struct list_head list;
dev_t