register_chrdev_region

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


發佈了37 篇原創文章 · 獲贊 1 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章