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
出錯的情況下, 返回一個負的錯誤碼, 你不能存取請求的區域.