struct uio_info — UIO device capabilities
struct uio_info {
  struct uio_device * uio_dev;
  const char * name;
  const char * version;
  struct uio_mem mem[MAX_UIO_MAPS];
  struct uio_port port[MAX_UIO_PORT_REGIONS];
  long irq;
  unsigned long irq_flags;
  void * priv;
  irqreturn_t (* handler) (int irq, struct uio_info *dev_info);
  int (* mmap) (struct uio_info *info, struct vm_area_struct *vma);
  int (* open) (struct uio_info *info, struct inode *inode);
  int (* release) (struct uio_info *info, struct inode *inode);
  int (* irqcontrol) (struct uio_info *info, s32 irq_on);
};  the UIO device this info belongs to
device name
device driver version
list of mappable memory regions, size==0 for end of list
list of port regions, size==0 for end of list
interrupt number or UIO_IRQ_CUSTOM
   flags for request_irq
      
optional private data
the device's irq handler
mmap operation for this uio device
open operation for this uio device
release operation for this uio device
disable/enable irqs when 0/1 is written to /dev/uioX