STRUCT UIO_INFO(9)

NAME
struct_uio_info - UIO device capabilities

SYNOPSIS

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);
};

MEMBERS

uio_dev
    the UIO device this info belongs to

name
    device name

version
    device driver version

mem[MAX_UIO_MAPS]
    list of mappable memory regions, size==0 for end of list

port[MAX_UIO_PORT_REGIONS]
    list of port regions, size==0 for end of list

irq
    interrupt number or UIO_IRQ_CUSTOM

irq_flags
    flags for request_irq

priv
    optional private data

handler
    the device's irq handler

mmap
    mmap operation for this uio device

open
    open operation for this uio device

release
    release operation for this uio device

irqcontrol
    disable/enable irqs when 0/1 is written to /dev/uioX

COPYRIGHT