irq.h 792 B

1234567891011121314151617181920212223242526272829303132333435363738
  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. #include <mach/anomaly.h>
  13. /* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */
  14. #include <mach/irq.h>
  15. #if ANOMALY_05000244 && defined(CONFIG_BFIN_ICACHE)
  16. # define NOP_PAD_ANOMALY_05000244 "nop; nop;"
  17. #else
  18. # define NOP_PAD_ANOMALY_05000244
  19. #endif
  20. #define idle_with_irq_disabled() \
  21. __asm__ __volatile__( \
  22. NOP_PAD_ANOMALY_05000244 \
  23. ".align 8;" \
  24. "sti %0;" \
  25. "idle;" \
  26. : \
  27. : "d" (bfin_irq_flags) \
  28. )
  29. #include <asm-generic/irq.h>
  30. #endif /* _BFIN_IRQ_H_ */