Name

struct irq_desc — interrupt descriptor

Synopsis

struct irq_desc {
  unsigned int irq;
  struct timer_rand_state * timer_rand_state;
  unsigned int * kstat_irqs;
#ifdef CONFIG_INTR_REMAP
  struct irq_2_iommu * irq_2_iommu;
#endif
  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 long last_unhandled;
  unsigned int irqs_unhandled;
  spinlock_t lock;
#ifdef CONFIG_SMP
  cpumask_var_t affinity;
  unsigned int node;
#ifdef CONFIG_GENERIC_PENDING_IRQ
  cpumask_var_t pending_mask;
#endif
#endif
  atomic_t threads_active;
  wait_queue_head_t wait_for_threads;
#ifdef CONFIG_PROC_FS
  struct proc_dir_entry * dir;
#endif
  const char * name;
};  

Members

irq

interrupt number for this descriptor

timer_rand_state

pointer to timer rand state struct

kstat_irqs

irq stats per cpu

irq_2_iommu

iommu with this irq

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

last_unhandled

aging timer for unhandled count

irqs_unhandled

stats field for spurious unhandled interrupts

lock

locking for SMP

affinity

IRQ affinity on SMP

node

node index useful for balancing

pending_mask

pending rebalanced interrupts

threads_active

number of irqaction threads currently running

wait_for_threads

wait queue for sync_irq to wait for threaded handlers

dir

/proc/irq/ procfs entry

name

flow handler name for /proc/interrupts output