On Fri, Sep 13, 2013 at 4:24 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote: > So why can't you make use of irq domains and have the whole routing > business implemented sanely? > > What's needed is in gic_init_bases(): > > if (of_property_read(node, "routable_irqs", &nr_routable_irqs) { > irq_domain_add_legacy(nr_gic_irqs); > } else { > irq_domain_add_legacy(nr_per_cpu_irqs); > irq_domain_add_linear(nr_routable_irqs); > } > > Now that separate domain has an xlate function which grabs a free GIC > irq from a bitmap and returns the hardware irq number in the gic > space. The map/unmap callbacks take care of setting up / tearing down > the route in the crossbar. This is obviously the right approach, it's exactly what .map should do the only special thing here being that we have hardware to perform the mapping ... bah why didn't I realize this :-( Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html