Re: [PATCH] mfd: da9052-core: Fix request_threaded_irq() parameter

From: Mark Brown
Date: Thu Sep 27 2012 - 12:14:49 EST


On Thu, Sep 27, 2012 at 02:34:45PM +0000, Arnd Bergmann wrote:
> On Thursday 27 September 2012, Mark Brown wrote:

> > The driver shouldn't be relying on irq_base at all, it should use
> > regmap_get_virq() to look up the interrupt number. If it relies on
> > irq_base then the user is forced to assign one (or rely on automatic
> > assignment, which is a bit erratic. Otherwise it can use a linear
> > domain which doesn't rely on being able to allocate a big block of
> > interrupt numbers.

> For all I can tell, the driver implements the automatic assignment
> correctly, but I was also going to ask for removing the da9052->irq_base
> variable and using the linear domain instead.

It's possible, IIRC last time I looked at it for API updates I decided
it was so clearly never going to work due to requesting without using
irq_base that I just ignored it for the purposes of compliation.

> We don't have any platforms actually setting the irq_base in the
> mainline kernel (I assume some of out tree platforms do this), but there

It's relatively rare to use the GPIOs as IRQs which is the only reason
you'd need to do this. That said I'm frankly unconvinced that the
driver has ever been tested given the general pain with the original
submission process.

> are a few drivers that need to be adapted to use regmap_irq_get_virq
> or irq_to_desc(irq)->hw_irq, respectively:

> drivers/gpio/gpio-da9052.c: return da9052->irq_base + DA9052_IRQ_GPI0 + offset;

Yeah, they all ought to be converted.
--
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/