irq.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. #include <linux/interrupt.h>
  13. /* This type is the placeholder for a hardware interrupt number. It has to
  14. * be big enough to enclose whatever representation is used by a given
  15. * platform.
  16. */
  17. typedef unsigned long irq_hw_number_t;
  18. extern unsigned int nr_irq;
  19. #define NO_IRQ (-1)
  20. struct pt_regs;
  21. extern void do_IRQ(struct pt_regs *regs);
  22. /** FIXME - not implement
  23. * irq_dispose_mapping - Unmap an interrupt
  24. * @virq: linux virq number of the interrupt to unmap
  25. */
  26. static inline void irq_dispose_mapping(unsigned int virq)
  27. {
  28. return;
  29. }
  30. struct irq_host;
  31. /**
  32. * irq_create_mapping - Map a hardware interrupt into linux virq space
  33. * @host: host owning this hardware interrupt or NULL for default host
  34. * @hwirq: hardware irq number in that host space
  35. *
  36. * Only one mapping per hardware interrupt is permitted. Returns a linux
  37. * virq number.
  38. * If the sense/trigger is to be specified, set_irq_type() should be called
  39. * on the number returned from that call.
  40. */
  41. extern unsigned int irq_create_mapping(struct irq_host *host,
  42. irq_hw_number_t hwirq);
  43. #endif /* _ASM_MICROBLAZE_IRQ_H */