On Tue, Oct 20, 2015 at 11:58:21AM -0400, Kenneth Adam Miller wrote: > So I'm building a uio kernel driver with buildroot, and I've gotten the driver > to compile, installed it and can insmod it in the final buildroot target after > booting the image with QEMU. > > I'm on linux kernel version 3.14, and I followed the guide here: > > https://www.kernel.org/doc/htmldocs/uio-howto/userspace_driver.html > > And it describes the location on where the device file that should be opened by > userland code as either one of two locations: > > /dev/uioX, with X being a number > > or /sys/class/uio/uioX > > But the each of following returns nothing: > > ls /dev/uio* > ls /sys/class/uio/ > > 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 uio.ko is the uio "core", you need a uio driver in order to actually use it. uio_dmem_genirq is a uio driver, have you added the needed device tree entries to have it actually create a device for you? Without them, this driver can not find any hardware to bind to, and as such, no device node will ever be created. I would suggest reading the UIO documentation, it should explain all of this for you already. If not, specific questions are always gladly answered. thanks, greg k-h _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies