gpt4 book ai didi

Linux 设备驱动程序使用的次要编号

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:13:41 26 4
gpt4 key购买 nike

/proc/devices 文件中可以看到设备驱动程序的主编号。有没有办法列出设备驱动程序支持的次要编号?我没有资源,我需要一种从正在运行的 Linux 获取信息的方法。

最佳答案

Linux 确实跟踪某个驱动程序分配了哪些区域。否则,如果没有额外的调度模块或类似的东西,在 vc、serial (maj 4) 和 ttyaux (maj 5) 区域上共享主编号将无法实现。在fs/char_dev.c中,你会发现

kobj = kobj_lookup(cdev_map, inode->i_rdev, &idx);

所以确实,Linux 是通过(主要,次要)而不只是(主要)来查找 cdev 对象。

例如参见/sys/dev/char/:

lrwxrwxrwx 1 root root 0 Mar 27 17:34 4:62 -> ../../devices/virtual/tty/tty62
lrwxrwxrwx 1 root root 0 Mar 27 17:34 4:63 -> ../../devices/virtual/tty/tty63
lrwxrwxrwx 1 root root 0 Mar 27 17:34 4:64 -> ../../devices/pnp0/00:06/tty/ttyS0
lrwxrwxrwx 1 root root 0 Mar 27 17:34 4:65 -> ../../devices/platform/serial8250/tty/ttyS1
lrwxrwxrwx 1 root root 0 Mar 27 17:34 4:66 -> ../../devices/platform/serial8250/tty/ttyS2
...
lrwxrwxrwx 1 root root 0 Mar 27 17:34 4:79 -> ../../devices/platform/serial8250/tty/ttyS15

由于我使用 CONFIG_SERIAL_8250_NR_UARTS=16CONFIG_SERIAL_8250_RUNTIME_UARTS=16 配置我的内核,我将在 sysfs 目录中看到最多 ttyS15 的条目。这是设备驱动程序注册作为我的配置操作的结果。这可能小于根据 Documentation/devices.txt 保留的值。

关于Linux 设备驱动程序使用的次要编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9903650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com