STRUCT IRQ_DATA(9)

NAME
struct_irq_data - per irq and irq chip data passed down to chip functions

SYNOPSIS

struct irq_data {
  u32 mask;
  unsigned int irq;
  unsigned long hwirq;
  unsigned int node;
  unsigned int state_use_accessors;
  struct irq_chip * chip;
  struct irq_domain * domain;
#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
  struct irq_data * parent_data;
#endif
  void * handler_data;
  void * chip_data;
  struct msi_desc * msi_desc;
  cpumask_var_t affinity;
};

MEMBERS

mask
    precomputed bitmask for accessing the chip registers

irq
    interrupt number

hwirq
    hardware interrupt number, local to the interrupt domain

node
    node index useful for balancing

state_use_accessors
    status information for irq chip functions. Use accessor functions to deal with it

chip
    low level interrupt hardware access

domain
    Interrupt translation domain; responsible for mapping between hwirq number and linux irq number.

parent_data
    pointer to parent struct irq_data to support hierarchy irq_domain

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

msi_desc
    MSI descriptor

affinity
    IRQ affinity on SMP

DESCRIPTION

The fields here need to overlay the ones in irq_desc until we cleaned up the direct references and switched everything over to irq_data.

AUTHORS

Thomas Gleixner <tglx@linutronix.de>
    Author.

Ingo Molnar <mingo@elte.hu>
    Author.

COPYRIGHT