Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

struct_uio_info(9) [centos man page]

UIO_INFO(9) Device drivers infrastructure 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
Kernel Hackers Manual 3.10 June 2014 STRUCT UIO_INFO(9)

Check Out this Related Man Page

struct_irq_chip - hardware interrupt chip descriptor SYNOPSIS
struct irq_chip { const char * name; unsigned int (* startup) (unsigned int irq); void (* shutdown) (unsigned int irq); void (* enable) (unsigned int irq); void (* disable) (unsigned int irq); void (* ack) (unsigned int irq); void (* mask) (unsigned int irq); void (* mask_ack) (unsigned int irq); void (* unmask) (unsigned int irq); void (* eoi) (unsigned int irq); void (* end) (unsigned int irq); int (* set_affinity) (unsigned int irq,const struct cpumask *dest); int (* retrigger) (unsigned int irq); int (* set_type) (unsigned int irq, unsigned int flow_type); int (* set_wake) (unsigned int irq, unsigned int on); void (* bus_lock) (unsigned int irq); void (* bus_sync_unlock) (unsigned int irq); #ifdef CONFIG_IRQ_RELEASE_METHOD void (* release) (unsigned int irq, void *dev_id); #endif const char * typename; }; MEMBERS
name name for /proc/interrupts startup start up the interrupt (defaults to ->enable if NULL) shutdown shut down the interrupt (defaults to ->disable if NULL) enable enable the interrupt (defaults to chip->unmask if NULL) disable disable the interrupt ack start of a new interrupt mask mask an interrupt source mask_ack ack and mask an interrupt source unmask unmask an interrupt source eoi end of interrupt - chip level end end of interrupt - flow level set_affinity set the CPU affinity on SMP machines retrigger resend an IRQ to the CPU set_type set the flow type (IRQ_TYPE_LEVEL/etc.) of an IRQ set_wake enable/disable power-management wake-on of an IRQ bus_lock function to lock access to slow bus (i2c) chips bus_sync_unlock function to sync and unlock slow bus (i2c) chips release release function solely used by UML typename obsoleted by name, kept as migration helper AUTHORS
Thomas Gleixner <> Author. Ingo Molnar <> Author. COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 STRUCT IRQ_CHIP(9)
Man Page

4 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers


where can i find the i/o and irq's in mandrake 8 help lost :D (2 Replies)
Discussion started by: RYRY46D9
2 Replies

2. Programming

freeBSD device driver (use struct uio)

Hi, everybody I have next problem... 1) My Example program code void main() { int fd; int len; int buf; fd=open("mydev", O_RDONLY); lseek(fd, 0, SEEK_SET); len=read(fd, buf, sizeof(buf)); } 2) My Example Driver code static int mydev_read(dev_t dev, ?, ?, struct uio* uio) {... (0 Replies)
Discussion started by: Alex_T
0 Replies

3. UNIX for Dummies Questions & Answers

Doubt with irq handler.......

Hello, I have develop a driver for my hardware and now, I need to handle a IRQ but I does not work. As I can understand, to handle a irq, it is necessary to make a request_irq(). If the return value is zero, ok, no problem to handle irq. Here is a easy example of my driver: #include... (8 Replies)
Discussion started by: webquinty
8 Replies

4. Programming

request_irq always returns EINVAL

request_irq always returns EINVAL What am I doing wrong here ? int mydrvr_open(struct inode *inode, struct file *filp) { int ret; printk("<1> \nModule Opened!"); //disable_irq(4); //free_irq(4, NULL); ret = request_irq(4, &imr_interrupt_handler,IRQF_SHARED,... (0 Replies)
Discussion started by: dragonpoint
0 Replies