Re: [PATCH] ata: Don't use NO_IRQ in pata_of_platform driver
From: Rob Herring <hidden>
Date: 2011-12-05 20:47:37
Also in:
linux-arm-kernel, linux-ide, linux-next, lkml
From: Rob Herring <hidden>
Date: 2011-12-05 20:47:37
Also in:
linux-arm-kernel, linux-ide, linux-next, lkml
On 12/05/2011 02:21 PM, Anton Vorontsov wrote:
On Mon, Dec 05, 2011 at 01:16:39PM -0600, Rob Herring wrote: [...]quoted
At least for DT enabled platforms, we could force "no irq" to be 0 in the DT irq code. Searching the dts files, I found 2 occurrences of IRQ0.Please note that there are HW IRQ numbers and "Virtual" IRQ numbers. dev->irq and thus the thing that we pass into request_irq() is a virtual IRQ thing, a "cookie". While in device tree you see real HW IRQ numbers. Legal VIRQ is always > 0, while HW IRQ could be >= 0.
If this was all true, then there would be no discussion. This is what we are working towards, but irq_chips all over the arm tree do not support any translation or have base fixed at compile time. Only a few have been converted. And some ARM platforms may never get converted to DT.
quoted
Prima2 has timer on IRQ0, and VersatileAB has watchdog on IRQ0. Prima2 should be fine currently as it doesn't use the of_irq_* functions to get the timer irq, but that is an issue as it skips any translation. VersatileAB should be okay with the VIC irqdomain support.It shouldn't be an issue to use of_irq_*() functions for these IRQs. of_irq_*() will remap HW IRQ 0 to some other VIRQ. If it does not do this currently, then it's a bug and should be fixed.
I think that's what I'm saying. It's either a bug or incomplete DT conversion for the platform. Either way, those should get fixed first. Rob