gpt4 book ai didi

linux-kernel - 设备驱动程序中的主要和次要编号

转载 作者:行者123 更新时间:2023-12-05 05:27:01 25 4
gpt4 key购买 nike

我看了一些关于大号和小号的资料,对它有疑问。我的理解:

  1. 由于 register_chrdev_region(),驱动程序有一个与之关联的主编号。
  2. mknod/dev/hello1 -c 123 32 将创建主设备号为 123 的设备文件,当应用程序打开/dev/hello1 时,它会搜索主设备号与/dev/hello1 相同的驱动程序。
  3. 多个设备文件可以与一个驱动程序相关联。/dev 中的两个文件都不会共享同一对主次编号。
  4. 现在一些现代操作系统允许具有相同专业的驱动程序数字。现在,在这种情况下,映射将如何工作?

最佳答案

当您有多个驱动程序与同一个主编号相关联时,您可以通过各个驱动程序下的不同次编号范围来区分它们。您可以使用次要编号作为本地数组的索引来访问各个设备。

此外,建议使用 alloc_chrdev_region() 从内核动态获取主编号,而不是通过 register_chrdev_region() 硬编码当前空闲的编号。

希望这对您有所帮助!

关于linux-kernel - 设备驱动程序中的主要和次要编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22333905/

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