int register_chrdev_region(dev_t first, unsigned int count, char *name);
为一个字符驱动获取一个或多个设备编号来使用
dev_t first是你要分配的起始设备编号.
first 的次编号部分常常是 0, 但是没有要求是那个效果.一般通过MKDEV(DEVICES_MAJOR, 0)来表示,其中DEVICES_MAJOR表示你的主设备号,可以通过Documentation/devices.txt来查看内核定义好的设备号,MKDEV是将主设备的高12位跟次设备的低20位组成的dev_t
count
是你请求的连续设备编号的总数. 注意, 如果 count 太大, 你要求的范围可能溢出到下一个主设备号;
但是只要你要求的编号范围可用, 一切都仍然会正确工作.
name
是应当连接到这个编号范围
的设备的名字; 它会出现在 /proc/devices 和 sysfs 中.
返回值
如果分配成功进行, register_chrdev_region 的返回值是 0
出错的情况下, 返回一个负的错误码, 你不能存取请求的区域.