int show_interrupts(struct seq_file *p, void *v) { struct irqaction *ap; int irq = *((loff_t *) v); if (irq == 0) seq_puts(p, " CPU0\n"); if (irq < NR_IRQS) { struct irq_desc *desc = irq_to_desc(irq); ap = desc->action; if (ap) { seq_printf(p, "%3d: ", irq); seq_printf(p, "%10u ", kstat_irqs(irq)); seq_printf(p, "%14s ", get_irq_desc_chip(desc)->name); seq_printf(p, "%s", ap->name); for (ap = ap->next; ap; ap = ap->next) seq_printf(p, ", %s", ap->name); seq_putc(p, '\n'); } } return 0; }
static void ambarella_nt11001_clear_penirq(void) { struct irq_desc *touch_desc; struct irq_chip *touch_chip = NULL; touch_desc = irq_to_desc(ambarella_board_generic.touch_panel_irq.irq_line); if (touch_desc) touch_chip = get_irq_desc_chip(touch_desc); if (touch_chip && touch_chip->irq_ack) touch_chip->irq_ack(&touch_desc->irq_data); }
irq_flow_handler_t __fixup_irq_handler(struct irq_desc *desc, irq_flow_handler_t handle, int is_chained) { if (unlikely(handle == NULL)) { desc->ipipe_ack = &__ipipe_ack_bad_irq; desc->ipipe_end = &__ipipe_noend_irq; } else { if (is_chained) { desc->ipipe_ack = handle; desc->ipipe_end = &__ipipe_noend_irq; handle = __ipipe_noack_irq; } else if (handle == &handle_simple_irq) { desc->ipipe_ack = &__ipipe_ack_simple_irq; desc->ipipe_end = &__ipipe_end_simple_irq; } else if (handle == &handle_level_irq) { desc->ipipe_ack = &__ipipe_ack_level_irq; desc->ipipe_end = &__ipipe_end_level_irq; } else if (handle == &handle_edge_irq) { desc->ipipe_ack = &__ipipe_ack_edge_irq; desc->ipipe_end = &__ipipe_end_edge_irq; } else if (handle == &handle_fasteoi_irq) { desc->ipipe_ack = &__ipipe_ack_fasteoi_irq; desc->ipipe_end = &__ipipe_end_fasteoi_irq; } else if (handle == &handle_percpu_irq) { desc->ipipe_ack = &__ipipe_ack_percpu_irq; desc->ipipe_end = &__ipipe_end_percpu_irq; } else if (get_irq_desc_chip(desc) == &no_irq_chip) { desc->ipipe_ack = &__ipipe_noack_irq; desc->ipipe_end = &__ipipe_noend_irq; } else { desc->ipipe_ack = &__ipipe_ack_bad_irq; desc->ipipe_end = &__ipipe_noend_irq; } } /* Suppress intermediate trampoline routine. */ ipipe_root_domain->irqs[desc->irq_data.irq].acknowledge = desc->ipipe_ack; return handle; }