Name

struct irq_desc — interrupt descriptor

Synopsis

struct irq_desc {
  irq_flow_handler_t handle_irq;
  struct irq_chip * chip;
  struct msi_desc * msi_desc;
  void * handler_data;
  void * chip_data;
  struct irqaction * action;
  unsigned int status;
  unsigned int depth;
  unsigned int wake_depth;
  unsigned int irq_count;
  unsigned int irqs_unhandled;
  unsigned long last_unhandled;
  spinlock_t lock;
#ifdef CONFIG_SMP
  cpumask_t affinity;
  unsigned int cpu;
#endif
#if defined(CONFIG_GENERIC_PENDING_IRQ) || defined(CONFIG_IRQBALANCE)
  cpumask_t pending_mask;
#endif
#ifdef CONFIG_PROC_FS
  struct proc_dir_entry * dir;
#endif
  const char * name;
};  

Members

handle_irq

highlevel irq-events handler [if NULL, __do_IRQ]

chip

low level interrupt hardware access

msi_desc

MSI descriptor

handler_data

per-IRQ data for the irq_chip methods

chip_data

platform-specific per-chip private data for the chip methods, to allow shared chip implementations

action

the irq action chain

status

status information

depth

disable-depth, for nested irq_disable calls

wake_depth

enable depth, for multiple set_irq_wake callers

irq_count

stats field to detect stalled irqs

irqs_unhandled

stats field for spurious unhandled interrupts

last_unhandled

aging timer for unhandled count

lock

locking for SMP

affinity

IRQ affinity on SMP

cpu

cpu index useful for balancing

pending_mask

pending rebalanced interrupts

dir

/proc/irq/ procfs entry

name

flow handler name for /proc/interrupts output