<div dir="ltr">So I&#39;m building a uio kernel driver with buildroot, and I&#39;ve gotten the driver to compile, installed it and can insmod it in the final buildroot target after booting the image with QEMU.<div><br></div><div>I&#39;m on linux kernel version 3.14, and I followed the guide here:</div><div><br></div><div><a href="https://www.kernel.org/doc/htmldocs/uio-howto/userspace_driver.html">https://www.kernel.org/doc/htmldocs/uio-howto/userspace_driver.html</a><br></div><div><br></div><div>And it describes the location on where the device file that should be opened by userland code as either one of two locations:</div><div><br></div><div>/dev/uioX, with X being a number</div><div><br></div><div>or /sys/class/uio/uioX</div><div><br></div><div>But the each of following returns nothing:</div><div><br></div><div>ls /dev/uio*</div><div>ls /sys/class/uio/</div><div><br></div><div>After I compile the uio example that is provided in the linux source at source/drivers/uio/uio.c and uio_dmem_genirq.c, and insmod them, I do modprobe uio and modprobe uio_dmem_genirq and each of those return nothing. However, I do see that /sys/modules/uio and /sys/modules/uio_dmem_genirq <br></div><div><br></div><div><br></div><div>What am I doing wrong? Or where are the respective device files that I&#39;m supposed to use in my userland driver process?</div><div><br></div><div>int fd = open(&quot;where is it!!?&quot;);</div><div>mmap(...., fd,..);</div></div>