一、动态申请字符类设备号
1、函数原型
extern int alloc_chrdev_region(dev_t *, unsigned, unsigned, const char *);
2、参数
dev_t *,存放返回的设备号
unsigned,一般为0
unsigned,次设备号连续编号范围
const char *,设备名称
3、返回值
成功:0
失败:-1
字符设备函数在文件 include/linux/fs.h 中
二、测试
1、 request_ascdev_num.c
#include <linux/init.h>
/*包含初始化宏定义的头文件,代码中的module_init和module_exit在此文件中*/
#include <linux/module.h>
/*包含初始化加载模块的头文件,代码中的MODULE_LICENSE在此头文件中*/
/*定义module_param module_param_array的头文件*/
#include <linux/moduleparam.h>
/*定义module_param module_param_array中perm的头文件*/
#include <linux/stat.h>
/*三个字符设备函数*/
#include <linux/fs.h>
/*MKDEV转换设备号数据类型的宏定义*/
#include <linux/kdev_t.h>
/*定义字符设备的结构体*/
#incl