Name

struct irq_desc — interrupt descriptor

Synopsis

struct irq_desc {
  void fastcall		(* handle_irq) (unsigned int irq,struct irq_desc *desc,struct pt_regs *regs);
  struct irq_chip * chip;
  void * handler_data;
  void * chip_data;
  struct irqaction * action;
  unsigned int status;
  unsigned int depth;
  unsigned int irq_count;
  unsigned int irqs_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;
  unsigned int move_irq;
#endif
#ifdef CONFIG_PROC_FS
  struct proc_dir_entry * dir;
#endif
};  

Members

handle_irq

highlevel irq-events handler [if NULL, __do_IRQ]

chip

low level interrupt hardware access

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

irq_count

stats field to detect stalled irqs

irqs_unhandled

stats field for spurious unhandled interrupts

lock

locking for SMP

affinity

IRQ affinity on SMP

cpu

cpu index useful for balancing

pending_mask

pending rebalanced interrupts

move_irq

need to re-target IRQ destination

dir

/proc/irq/ procfs entry

Description

Pad this out to 32 bytes for cache and indexing reasons.

Description

Pad this out to 32 bytes for cache and indexing reasons.