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

From: Arnd Bergmann
Date: Fri Sep 07 2012 - 09:37:28 EST


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.

Arnd
--
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/