【发布时间】:2018-07-04 17:21:10
【问题描述】:
如果下面的api在一个随机选择的major编号下预留了3个设备(2,3,4),那么dev_t变量dev_no中存储的minor number 3和4在哪里?
alloc_chrdev_region(&dev_no, 2,3, "mod3-device");
当使用 MINOR(dev_t) 宏提取次要编号时,我只能得到 1 个次要编号(即 2)。
me@myPC:~/work/dd/2018$ dmesg | tail
[16577.759505] module_init()
[17301.433970] major:minor 238:2
我读到在 dev_t 变量中,20 位为次要编号保留,12 位为主要编号保留,尽管次要编号和主要编号的范围都是 0-255。但是我没有清楚地了解 /dev/devices 的主要:次要数字是如何存储的。
【问题讨论】: