struct irq {
  void (*ack)(unsigned int);
  void (*mask)(unsigned int);
  void (*unmask)(unsigned int);
  int (*retrigger)(unsigned int);
  int (*type)(unsigned int, unsigned int);
  int (*wake)(unsigned int, unsigned int);
#ifdef CONFIG_SMP
  void (*set_cpu)(struct irqdesc *desc, unsigned int irq, unsigned int cpu);
#endif