Lines Matching refs:irq
13 #include <linux/irq.h>
23 unsigned int irq;
35 void intc_irq_xlate_set(unsigned int irq, intc_enum id, struct intc_desc_int *d)
40 intc_irq_xlate[irq].enum_id = id;
41 intc_irq_xlate[irq].desc = d;
45 struct intc_map_entry *intc_irq_xlate_get(unsigned int irq)
47 return intc_irq_xlate + irq;
54 int irq = -1;
75 irq = ptr - intc_irq_xlate;
80 return irq;
84 static int add_virq_to_pirq(unsigned int irq, unsigned int virq)
87 struct irq_data *data = irq_get_irq_data(irq);
92 if (entry->irq == virq)
103 entry->irq = virq;
110 static void intc_virq_handler(unsigned int irq, struct irq_desc *desc)
112 struct irq_data *data = irq_get_irq_data(irq);
115 struct intc_desc_int *d = get_intc_desc(irq);
122 handle = (unsigned long)irq_get_handler_data(entry->irq);
126 generic_handle_irq(entry->irq);
214 int irq;
222 irq = create_irq();
223 if (unlikely(irq < 0)) {
229 irq, entry->pirq);
231 intc_irq_xlate_set(irq, entry->enum_id, d);
233 irq_set_chip_and_handler_name(irq, irq_get_chip(entry->pirq),
235 irq_set_chip_data(irq, irq_get_chip_data(entry->pirq));
237 irq_set_handler_data(irq, (void *)entry->handle);
242 irq_set_nothread(irq);
245 add_virq_to_pirq(entry->pirq, irq);
250 &intc_irq_xlate[irq]);