linux/arch/blackfin/include/asm/irq.h
<<
>>
Prefs
   1/*
   2 * Copyright 2004-2009 Analog Devices Inc.
   3 *                2003 HuTao
   4 *                2002 Arcturus Networks Inc. (www.arcturusnetworks.com
   5 *                       Ted Ma <mated@sympatico.ca>
   6 *
   7 * Licensed under the GPL-2
   8 */
   9
  10#ifndef _BFIN_IRQ_H_
  11#define _BFIN_IRQ_H_
  12
  13#include <linux/irqflags.h>
  14
  15/* IRQs that may be used by external irq_chip controllers */
  16#define NR_SPARE_IRQS   32
  17
  18#include <mach/anomaly.h>
  19
  20/* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */
  21#include <mach/irq.h>
  22
  23/*
  24 * pm save bfin pint registers
  25 */
  26struct bfin_pm_pint_save {
  27        u32 mask_set;
  28        u32 assign;
  29        u32 edge_set;
  30        u32 invert_set;
  31};
  32
  33#if ANOMALY_05000244 && defined(CONFIG_BFIN_ICACHE)
  34# define NOP_PAD_ANOMALY_05000244 "nop; nop;"
  35#else
  36# define NOP_PAD_ANOMALY_05000244
  37#endif
  38
  39#define idle_with_irq_disabled() \
  40        __asm__ __volatile__( \
  41                NOP_PAD_ANOMALY_05000244 \
  42                ".align 8;" \
  43                "sti %0;" \
  44                "idle;" \
  45                : \
  46                : "d" (bfin_irq_flags) \
  47        )
  48
  49#include <asm-generic/irq.h>
  50
  51#endif                          /* _BFIN_IRQ_H_ */
  52