Hi Thomas, On Tuesday 17 September 2013 05:56 PM, Linus Walleij wrote: > 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(): >> irq >> 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 Thanks for the suggestion. So as i understand this, this implies using the GIC domain itself and add the support for dynamically routable irqs (like crossbar) with in the GIC driver itself right ? Regards, Sricharan -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html