/dev/uio0字符设备节点未显示

问题描述:

我尝试实例化一个uio(driver/uio/uio_pdrv_genirq.c)字符设备 以捕获用户空间中的一些gpio中断。/dev/uio0字符设备节点未显示

似乎安装正确,/ sys/class/uio/uio0 /和/ proc/interrupts 显示我的中断已注册。

但是我想念的是/ dev/uio0条目。

我通过驱动程序/ UIO/uio.c踩:__ uio_register_device()和 device_create()不会成功,所以我不知道为什么的/ dev/uio0犯规 出现。我无法使用mknod,因为主号码是由驱动程序/ uio/uio.c分配的动态 。

是否有一些额外的内核配置我需要启用,以便自动出现/ dev/uio0 或我缺少什么?我没有启用CONFIG_DEVTEMPFS,这是否需要这样/ dev/uio0会自动出现?

+0

你是否使用了dts覆盖来使'/ sys/class/uio/uio0'成为?尝试在RPI0上使用'uio_pdrv_genirq',但没有创建正确的dts覆盖文件的运气...... – sharpener

+0

您需要启用驱动程序,但也需要指定要使用哪个“兼容”标记。您可以通过cmdline选项执行此操作,例如:uio_pdrv_genirq.of_id = generic-uio。然后,您可以在dtb中添加“compatible = generic-uio”,并将驱动程序与设备进行匹配。 –

安装devtempfs或将内核配置为自动安装 /dev上的devtempfs是解决方案。