Re: [PATCH 15/19] mfd: Don't convert just one IRQ using irqdomain ifa range is provided

From: Lee Jones
Date: Fri Sep 07 2012 - 09:43:03 EST


On Fri, Sep 07, 2012 at 01:37:26PM +0000, Arnd Bergmann wrote:
> 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@xxxxxxxxxxxxxxx>
> > > > Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
> > >
> > > 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.

Understood. I'd still feel more comfortable if we didn't trash the
range. I think it would be best to show the warning, and leave the
range for its target driver to take care - hence the patch.

... but it's your call.

--
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/