struct irq_chip
Prev | Chapter 8. Structures | Next

## Name

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_calc_mask) (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_calc_mask

  Optional function to set irq_data.mask for special cases

irq_print_chip

  optional to print special chip info in show_interrupts

flags

  chip specific flags

Prev | Up | Next
struct irq_data | Home | struct irq_chip_regs