Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [PATCH 15/19] mfd: Don't convert just one IRQ using irqdomain if a range is provided | Date | Fri, 7 Sep 2012 13:37:26 +0000 |
| |
On Friday 07 September 2012, Lee Jones wrote: > On Fri, Sep 07, 2012 at 12:35:41PM +0000, Arnd Bergmann wrote: > > On Friday 07 September 2012, Lee Jones wrote: > > > MFD core code attempts to convert specified hardware (local) IRQ > > > numbers to virtual-IRQs, which something Linux can understand. This > > > works great when only one IRQ is specified. However, converting > > > entire ranges is currently unsupported. If this occurs we issue a > > > kernel warning to inform the user of this, but we continue to > > > convert the first specified IRQ anyway and replace the range. This > > > is not the correct behaviour. This patch ensures that if a range > > > is specified, it is left untouched. > > > > > > CC: Samuel Ortiz <sameo@linux.intel.com> > > > Signed-off-by: Lee Jones <lee.jones@linaro.org> > > > > I don't see the advantage of the change. The warning already tells > > us that the input to mfd_add_device was incorrect, so nothing the > > function does can reliably fix it. Leaving the resource empty > > is just as wrong as listing only the first interrupt. > > My thinking was to leave them in a range, then have the target driver > convert each entry in the range manually. But what you're saying is > that no registration should be attempted using ranges at all? What if > the range was vast? Surely a resource array a few hundred lines long > isn't correct either? My immediate example would be "GPIO_INT6", which > has 31 lines. Do you want them all splitting out individually?
The examples I had seen before were all just ranges of two interrupts, and in those cases it was clear that splitting them would be best.
In the exampled of the ab8500-gpio driver, it looks like the resource is not actually being used, and the gpio driver implements its own irq_chip, so maybe we can get away with not solving this problem for now.
Arnd
| |