• Home
  • Raw
  • Download

Lines Matching refs:irq

48 void irq_install_handler(int irq, interrupt_handler_t *handler, void *arg)  in irq_install_handler()  argument
52 if (irq < 0 || irq >= SYS_NUM_IRQS) { in irq_install_handler()
53 printf("irq_install_handler: bad irq number %d\n", irq); in irq_install_handler()
57 if (irq_handlers[irq].handler != NULL) in irq_install_handler()
60 (ulong) irq_handlers[irq].handler); in irq_install_handler()
64 irq_handlers[irq].handler = handler; in irq_install_handler()
65 irq_handlers[irq].arg = arg; in irq_install_handler()
66 irq_handlers[irq].count = 0; in irq_install_handler()
69 unmask_irq(irq); in irq_install_handler()
77 void irq_free_handler(int irq) in irq_free_handler() argument
81 if (irq < 0 || irq >= SYS_NUM_IRQS) { in irq_free_handler()
82 printf("irq_free_handler: bad irq number %d\n", irq); in irq_free_handler()
89 mask_irq(irq); in irq_free_handler()
91 irq_handlers[irq].handler = NULL; in irq_free_handler()
92 irq_handlers[irq].arg = NULL; in irq_free_handler()
102 int irq = hw_irq - 0x20; in do_irq() local
104 if (irq < 0 || irq >= SYS_NUM_IRQS) { in do_irq()
105 printf("do_irq: bad irq number %d\n", irq); in do_irq()
109 if (irq_handlers[irq].handler) { in do_irq()
111 mask_irq(irq); in do_irq()
113 irq_handlers[irq].handler(irq_handlers[irq].arg); in do_irq()
114 irq_handlers[irq].count++; in do_irq()
117 unmask_irq(irq); in do_irq()
118 specific_eoi(irq); in do_irq()
121 if ((irq & 7) != 7) { in do_irq()
123 spurious_irq = irq; in do_irq()
133 int irq; in do_irqinfo() local
141 for (irq = 0; irq < SYS_NUM_IRQS; irq++) { in do_irqinfo()
142 if (irq_handlers[irq].handler != NULL) { in do_irqinfo()
144 irq, in do_irqinfo()
145 (ulong)irq_handlers[irq].handler, in do_irqinfo()
146 (ulong)irq_handlers[irq].arg, in do_irqinfo()
147 irq_handlers[irq].count); in do_irqinfo()