irq.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * Copyright (C) 2006 Atmark Techno, Inc.
  3. *
  4. * This file is subject to the terms and conditions of the GNU General Public
  5. * License. See the file "COPYING" in the main directory of this archive
  6. * for more details.
  7. */
  8. #ifndef _ASM_MICROBLAZE_IRQ_H
  9. #define _ASM_MICROBLAZE_IRQ_H
  10. #define NR_IRQS 32
  11. #include <asm-generic/irq.h>
  12. /* This type is the placeholder for a hardware interrupt number. It has to
  13. * be big enough to enclose whatever representation is used by a given
  14. * platform.
  15. */
  16. typedef unsigned long irq_hw_number_t;
  17. extern unsigned int nr_irq;
  18. #define NO_IRQ (-1)
  19. struct pt_regs;
  20. extern void do_IRQ(struct pt_regs *regs);
  21. /** FIXME - not implement
  22. * irq_dispose_mapping - Unmap an interrupt
  23. * @virq: linux virq number of the interrupt to unmap
  24. */
  25. static inline void irq_dispose_mapping(unsigned int virq)
  26. {
  27. return;
  28. }
  29. struct irq_host;
  30. /**
  31. * irq_create_mapping - Map a hardware interrupt into linux virq space
  32. * @host: host owning this hardware interrupt or NULL for default host
  33. * @hwirq: hardware irq number in that host space
  34. *
  35. * Only one mapping per hardware interrupt is permitted. Returns a linux
  36. * virq number.
  37. * If the sense/trigger is to be specified, set_irq_type() should be called
  38. * on the number returned from that call.
  39. */
  40. extern unsigned int irq_create_mapping(struct irq_host *host,
  41. irq_hw_number_t hwirq);
  42. #endif /* _ASM_MICROBLAZE_IRQ_H */