irq.h 879 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. #ifndef _BFIN_IRQ_H_
  10. #define _BFIN_IRQ_H_
  11. #include <linux/irqflags.h>
  12. /* IRQs that may be used by external irq_chip controllers */
  13. #define NR_SPARE_IRQS 32
  14. #include <mach/anomaly.h>
  15. /* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */
  16. #include <mach/irq.h>
  17. #if ANOMALY_05000244 && defined(CONFIG_BFIN_ICACHE)
  18. # define NOP_PAD_ANOMALY_05000244 "nop; nop;"
  19. #else
  20. # define NOP_PAD_ANOMALY_05000244
  21. #endif
  22. #define idle_with_irq_disabled() \
  23. __asm__ __volatile__( \
  24. NOP_PAD_ANOMALY_05000244 \
  25. ".align 8;" \
  26. "sti %0;" \
  27. "idle;" \
  28. : \
  29. : "d" (bfin_irq_flags) \
  30. )
  31. #include <asm-generic/irq.h>
  32. #endif /* _BFIN_IRQ_H_ */