Lines Matching refs:irq_setup
266 int omap_prcm_register_chain_handler(struct omap_prcm_irq_setup *irq_setup) in omap_prcm_register_chain_handler() argument
275 if (!irq_setup) in omap_prcm_register_chain_handler()
278 nr_regs = irq_setup->nr_regs; in omap_prcm_register_chain_handler()
290 prcm_irq_setup = irq_setup; in omap_prcm_register_chain_handler()
305 for (i = 0; i < irq_setup->nr_irqs; i++) { in omap_prcm_register_chain_handler()
306 offset = irq_setup->irqs[i].offset; in omap_prcm_register_chain_handler()
308 if (irq_setup->irqs[i].priority) in omap_prcm_register_chain_handler()
309 irq_setup->priority_mask[offset >> 5] |= in omap_prcm_register_chain_handler()
313 if (irq_setup->xlate_irq) in omap_prcm_register_chain_handler()
314 irq = irq_setup->xlate_irq(irq_setup->irq); in omap_prcm_register_chain_handler()
316 irq = irq_setup->irq; in omap_prcm_register_chain_handler()
319 irq_setup->base_irq = irq_alloc_descs(-1, 0, irq_setup->nr_regs * 32, in omap_prcm_register_chain_handler()
322 if (irq_setup->base_irq < 0) { in omap_prcm_register_chain_handler()
324 irq_setup->base_irq); in omap_prcm_register_chain_handler()
328 for (i = 0; i < irq_setup->nr_regs; i++) { in omap_prcm_register_chain_handler()
330 irq_setup->base_irq + i * 32, prm_base, in omap_prcm_register_chain_handler()
342 ct->regs.ack = irq_setup->ack + i * 4; in omap_prcm_register_chain_handler()
343 ct->regs.mask = irq_setup->mask + i * 4; in omap_prcm_register_chain_handler()
351 omap_pcs_legacy_init(irq, irq_setup->reconfigure_io_chain); in omap_prcm_register_chain_handler()