RE: [PATCH] regmap-irq: allow auto-allocated IRQs to be mapped

Opensource [Anthony Olech]
2012-08-07T11:18:25Z

if you don't TOP POST how can you tell who wrote what?

see my comments embedded below

-----Original Message-----
From: Mark Brown [mailto:broonie@opensource.wolfsonmicro.com]
Sent: 04 August 2012 11:54
To: Opensource [Anthony Olech]
Cc: LKML; Anthony Olech; David Dajun Chen
Subject: Re: [PATCH] regmap-irq: allow auto-allocated IRQs to be mapped

On Wed, Aug 01, 2012 at 07:05:15PM +0100, Anthony Olech wrote:

> if the irq_base is set to -1 when calling regmap_add_irq_chip() then
> allow the IRQ to be mapped even if the allocated irq_base is actually
> zero.

> This restores the behaviour seen in v3.4, and I assume that the
> tidy-ups just made in v3.5 INADVERTENTLY introduce this change in
> behaviour.

Please pay MORE attention to the changelog - obviously there's no problem mapping automatically allocated IRQs, there's only any effect if they happen to GET allocated at zero.

That is the problem - they are allocated at zero, and hence my patch

The only real issue I see with the current code is that if the user explicitly wants to statically allocate an IRQ range at zero they can't.

I don't want to explicitly allocate at zero.

The current intended behaviour is that we use a linear domain unless a positive IRQ base is specified, though we're not quite doing that right now as a transitional measure until drivers are updated.

The fact remains that my patch enables the DA9058 driver to work in v3.5

The current da9052 driver usage seems to have quite a few problems, I do recall having to fix some problems that make me doubt if it ever worked well. Looking at the code now I see it's using hard coded references to absolute IRQ numbers which is an issue... It should be being converted to use regmap_irq_get_virq().