register_chrdev_region

来源:互联网 发布:淘宝怎么添加旺信 编辑:程序博客网 时间:2024/05/28 19:23

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
  出错的情况下, 返回一个负的错误码, 你不能存取请求的区域.