gpt4 book ai didi

linux-device-driver - Linux 设备驱动程序字符设备 "Subdirectory"

转载 作者:行者123 更新时间:2023-12-02 01:54:32 26 4
gpt4 key购买 nike

我正在为一个硬件编写一个 Linux 设备驱动程序,该硬件提供多个独立的数据“ channel ”。系统中可能存在多个设备,每个设备提供一组 channel ,这些 channel 将被表示为基本独立的字符设备。

我想知道如何在/dev 中创建表示层次关系的设备节点,例如:

/dev/mydevice0/chan0
/dev/mydevice0/chan1
/dev/mydevice0/chan2
/dev/mydevice0/chan3

/dev/mydevice1/chan0
/dev/mydevice1/chan1
/dev/mydevice1/chan2
/dev/mydevice1/chan3
...

如何自动创建这种层次结构? “自动”是指使用大多数现代 Linux 系统上可用的典型机制(即可以依赖 udev,但我不想用一堆 mknod 制作一些特殊脚本> 命令)。尝试这样做是否明智,或者我最好为每个 channel 生成一个唯一的后缀,类似于为磁盘设备所做的,例如:

/dev/mydev0c0
/dev/mydev0c1
...
/dev/mydev1c0
/dev/mydev1c1
...

谢谢!

最佳答案

函数 device_create() 是让您的驱动程序创 build 备节点的方式,根据 this short thread ,您可以硬编码您希望设备在调用时放置的路径。您只需将路径分隔符替换为感叹号即可。

来自链接线程的示例路径:

“test!power”将创建为:/dev/test/power

This tutorialmy answer to another SO question应该可以帮助您正确使用 device_create()。

关于linux-device-driver - Linux 设备驱动程序字符设备 "Subdirectory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20951769/

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