On 17/12/15 21:35, Kenneth Adam Miller wrote:
Generally uio_dmem_genirq.c builds on top of uio.c, which provides a common module basis for isolating code common to the other specific modules. But for a specific purpose, uio_dmem_genirq.c has be either customized or extended in order that specific memory regions can be set as accessible. Most easily, this is done in a first come first serve approach by filling out the details (which exactly?) left missing in uio_dmem_genirq.c, and to start, that would be in uio_of_genirq_match.

Am I correct?

It's not always necessary to modify uio_dmem_genirq.

Certainly in cases where the hardware capability can be specified by a device tree (e.g. ARM systems), it is possible to specify an address space and an IRQ that can be immediately used from userspace with the uio_dmem_genirq driver with no modifications.

Henry