Hello all,

I am trying to figure out how to use the uio_dmem_genirq driver with a platform device described in my device tree

My device tree entry looks something like this:

    mydevice: mydevice@a0001000 {
        compatible = "generic-uio";
        ...
    }

And in my bootargs I have

    uio_dmem_genirq.of_id="generic-uio"

This works when using uio_pdrv_genirq but not when using uio_dmem_genirq. By "works" I mean that with uio_pdrv_genirq I see my device mapped under /sys/class/uio, but there is no such mapping with uio_dmem_genirq.

Looking at the source for the drivers, I notice that the uio_pdrv_genirq driver has the following lines that are not included in uio_dmem_genirq:

    module_param_string(of_id, uio_of_genirq_match[0].compatible, 128, 0);
    MODULE_PARAM_DESC(of_id, "Openfirmware id of the device to be handled by uio");

Do these lines need to be included for the uio_dmem_genirq driver to work?

I have read through the Userspace IO HOWTO but that guide doesn't cover using the generic UIO drivers with the device tree (as far as I can tell, I am a kernel newbie after all).

Thank you for your help,

Greg