1STRUCT UIO_INFO(9)       Device drivers infrastructure      STRUCT UIO_INFO(9)
2
3
4

NAME

6       struct_uio_info - UIO device capabilities
7

SYNOPSIS

9       struct uio_info {
10         struct uio_device * uio_dev;
11         const char * name;
12         const char * version;
13         struct uio_mem mem[MAX_UIO_MAPS];
14         struct uio_port port[MAX_UIO_PORT_REGIONS];
15         long irq;
16         unsigned long irq_flags;
17         void * priv;
18         irqreturn_t (* handler) (int irq, struct uio_info *dev_info);
19         int (* mmap) (struct uio_info *info, struct vm_area_struct *vma);
20         int (* open) (struct uio_info *info, struct inode *inode);
21         int (* release) (struct uio_info *info, struct inode *inode);
22         int (* irqcontrol) (struct uio_info *info, s32 irq_on);
23       };
24

MEMBERS

26       uio_dev
27           the UIO device this info belongs to
28
29       name
30           device name
31
32       version
33           device driver version
34
35       mem[MAX_UIO_MAPS]
36           list of mappable memory regions, size==0 for end of list
37
38       port[MAX_UIO_PORT_REGIONS]
39           list of port regions, size==0 for end of list
40
41       irq
42           interrupt number or UIO_IRQ_CUSTOM
43
44       irq_flags
45           flags for request_irq
46
47       priv
48           optional private data
49
50       handler
51           the device's irq handler
52
53       mmap
54           mmap operation for this uio device
55
56       open
57           open operation for this uio device
58
59       release
60           release operation for this uio device
61
62       irqcontrol
63           disable/enable irqs when 0/1 is written to /dev/uioX
64
66Kernel Hackers Manual 3.10         June 2019                STRUCT UIO_INFO(9)
Impressum