Linux /dev/uio0 char设备节点未显示

Linux /dev/uio0 char设备节点未显示,linux,linux-kernel,linux-device-driver,embedded-linux,Linux,Linux Kernel,Linux Device Driver,Embedded Linux,我尝试实例化一个uio(driver/uio/uio_pdrv_genirq.c)字符设备 捕捉用户空间中的一些gpio中断 一切似乎都是如此 设置正确后,/sys/class/uio/uio0/出现,并且/proc/中断 显示我的中断注册 然而,我错过的是/dev/uio0条目 我遍历了driver/uio/uio.c:\uuuuuuio\u register\u device()和 设备_create()成功了,所以我想知道为什么/dev/uio0没有成功 出现。我不能使用mknod,因为主

我尝试实例化一个uio(driver/uio/uio_pdrv_genirq.c)字符设备 捕捉用户空间中的一些gpio中断

一切似乎都是如此 设置正确后,/sys/class/uio/uio0/出现,并且/proc/中断 显示我的中断注册

然而,我错过的是/dev/uio0条目

我遍历了driver/uio/uio.c:\uuuuuuio\u register\u device()和 设备_create()成功了,所以我想知道为什么/dev/uio0没有成功 出现。我不能使用mknod,因为主数字是动态的 由驱动程序/uio/uio.c分配

是否需要启用一些额外的内核配置,以便/dev/uio0
自动出现还是我遗漏了什么?我没有启用CONFIG_DEVTEMPFS,是否需要这样才能自动显示/dev/uio0?

装载DEVTEMPFS或将内核配置为自动装载
devtempfs on/dev就是解决方案。

您是否使用dts覆盖来启动
/sys/class/uio/uio0
?试图在RPI0上使用
uio\u pdrv\u genirq
,但无法创建正确的dts覆盖文件…您需要启用驱动程序,但还需要指定要使用的“兼容”标记。您可以通过以下cmdline选项执行此操作:uio_pdrv_genirq.of_id=generic uio。然后,您可以在dtb中添加“compatible=generic uio”,并且驱动程序与设备匹配。