[PATCH 3/6] ARM: plat-versatile: add DT support to FPGA IRQ controller

Linus Walleij linus.walleij at linaro.org
Fri Aug 31 21:14:15 EDT 2012


On Thu, Aug 16, 2012 at 3:50 PM, Arnd Bergmann <arnd at arndb.de> wrote:
> On Thursday 16 August 2012, Linus Walleij wrote:
>> +- irq-start: the u32 hardware IRQ number of the first interrupt handled by
>> +  this FPGA IRQ instance - since there may be many FPGA IRQ controller
>> +  instances, each will have its unique hardware offset number.
>
> The irq-start value is a Linux specific invention, the hardware doesn't
> know anything about these. As long as you depend on specific IRQ numbers
> to get assigned, I would use something like auxdata to find the
> start number.

Sorry that does not work. Auxdata is not used with IRQ controllers,
only with devices.

of_irq_init() will dereference the .data field of struct of_device_id
and use as a callback function to initialize the IRQ controller, no
chance to pass any other data that way.

> When all devices get their IRQ numbers from the device
> tree, you can move to linear IRQ domains instead of legacy, and let
> the irq domain code pick the numbers.

It seems I have no other choice here than to move directly to
linear numbers or atleast dynamically allocated descriptors.

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list