[RFC PATCH 1/4] DRIVERS: IRQCHIP: Add crossbar irqchip driver

Linus Walleij linus.walleij at linaro.org
Tue Sep 17 08:26:22 EDT 2013


On Fri, Sep 13, 2013 at 4:24 PM, Thomas Gleixner <tglx at linutronix.de> 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



More information about the linux-arm-kernel mailing list