Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

struct_irq_chip_generic(9) [centos man page]

struct_irq_chip_generic - Generic irq chip data structure SYNOPSIS
struct irq_chip_generic { raw_spinlock_t lock; void __iomem * reg_base; unsigned int irq_base; unsigned int irq_cnt; u32 mask_cache; u32 type_cache; u32 polarity_cache; u32 wake_enabled; u32 wake_active; unsigned int num_ct; void * private; struct list_head list; struct irq_chip_type chip_types[0]; }; MEMBERS
lock Lock to protect register and cache data access reg_base Register base address (virtual) irq_base Interrupt base nr for this chip irq_cnt Number of interrupts handled by this chip mask_cache Cached mask register type_cache Cached type register polarity_cache Cached polarity register wake_enabled Interrupt can wakeup from suspend wake_active Interrupt is marked as an wakeup from suspend source num_ct Number of available irq_chip_type instances (usually 1) private Private data for non generic chip callbacks list List head for keeping track of instances chip_types[0] Array of interrupt irq_chip_types DESCRIPTION
Note, that irq_chip_generic can have multiple irq_chip_type implementations which can be associated to a particular irq line of an irq_chip_generic instance. That allows to share and protect state in an irq_chip_generic instance when we need to implement different flow mechanisms (level/edge) for it. AUTHORS
Thomas Gleixner <> Author. Ingo Molnar <> Author. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 STRUCT IRQ_CHIP_GENE(9)

Check Out this Related Man Page

struct_irq_chip - hardware interrupt chip descriptor SYNOPSIS
struct irq_chip { const char * name; unsigned int (* irq_startup) (struct irq_data *data); void (* irq_shutdown) (struct irq_data *data); void (* irq_enable) (struct irq_data *data); void (* irq_disable) (struct irq_data *data); void (* irq_ack) (struct irq_data *data); void (* irq_mask) (struct irq_data *data); void (* irq_mask_ack) (struct irq_data *data); void (* irq_unmask) (struct irq_data *data); void (* irq_eoi) (struct irq_data *data); int (* irq_set_affinity) (struct irq_data *data, const struct cpumask *dest, bool force); int (* irq_retrigger) (struct irq_data *data); int (* irq_set_type) (struct irq_data *data, unsigned int flow_type); int (* irq_set_wake) (struct irq_data *data, unsigned int on); void (* irq_bus_lock) (struct irq_data *data); void (* irq_bus_sync_unlock) (struct irq_data *data); void (* irq_cpu_online) (struct irq_data *data); void (* irq_cpu_offline) (struct irq_data *data); void (* irq_suspend) (struct irq_data *data); void (* irq_resume) (struct irq_data *data); void (* irq_pm_shutdown) (struct irq_data *data); void (* irq_print_chip) (struct irq_data *data, struct seq_file *p); unsigned long flags; }; MEMBERS
name name for /proc/interrupts irq_startup start up the interrupt (defaults to ->enable if NULL) irq_shutdown shut down the interrupt (defaults to ->disable if NULL) irq_enable enable the interrupt (defaults to chip->unmask if NULL) irq_disable disable the interrupt irq_ack start of a new interrupt irq_mask mask an interrupt source irq_mask_ack ack and mask an interrupt source irq_unmask unmask an interrupt source irq_eoi end of interrupt irq_set_affinity set the CPU affinity on SMP machines irq_retrigger resend an IRQ to the CPU irq_set_type set the flow type (IRQ_TYPE_LEVEL/etc.) of an IRQ irq_set_wake enable/disable power-management wake-on of an IRQ irq_bus_lock function to lock access to slow bus (i2c) chips irq_bus_sync_unlock function to sync and unlock slow bus (i2c) chips irq_cpu_online configure an interrupt source for a secondary CPU irq_cpu_offline un-configure an interrupt source for a secondary CPU irq_suspend function called from core code on suspend once per chip irq_resume function called from core code on resume once per chip irq_pm_shutdown function called from core code on shutdown once per chip irq_print_chip optional to print special chip info in show_interrupts flags chip specific flags AUTHORS
Thomas Gleixner <> Author. Ingo Molnar <> Author. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 STRUCT IRQ_CHIP(9)
Man Page