diff mbox

[7/9] Input: ab8500-ponkey: Create AB8500 domain IRQ mapping

Message ID 4FFB463F.9040201@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Lee Jones July 9, 2012, 8:59 p.m. UTC
Sorry for the cock-up(s).

From: Lee Jones <lee.jones@linaro.org>
Date: Tue, 26 Jun 2012 10:46:50 +0100
Subject: [PATCH 1/1] Input: ab8500-ponkey: Create AB8500 domain IRQ mapping

Before we can use any domain allocated IRQ, we need to first create a
map between the Hardware IRQ (hwirq) and the Linux Virtual IRQ (virq).
We do this with a helper function provided by the AB8500 IRQ domain
controller called ab8500_irq_get_virq(). We need to do this for both
IRQs which the Power-On-Key driver uses; one for button press, the other
for button depress.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/input/misc/ab8500-ponkey.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Linus Walleij July 9, 2012, 9:03 p.m. UTC | #1
On Mon, Jul 9, 2012 at 10:59 PM, Lee Jones <lee.jones@linaro.org> wrote:

> Before we can use any domain allocated IRQ, we need to first create a
> map between the Hardware IRQ (hwirq) and the Linux Virtual IRQ (virq).
> We do this with a helper function provided by the AB8500 IRQ domain
> controller called ab8500_irq_get_virq(). We need to do this for both
> IRQs which the Power-On-Key driver uses; one for button press, the other
> for button depress.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

Now since I was fooled by the last patch, thinking you had tested it before
submitting (obviously not) - please send a test log of some
cat /dev/input/event* for this one before I ACK it this time.

Yours,
Linus Walleij
Lee Jones July 9, 2012, 9:21 p.m. UTC | #2
On 09/07/12 23:03, Linus Walleij wrote:
> On Mon, Jul 9, 2012 at 10:59 PM, Lee Jones <lee.jones@linaro.org> wrote:
>
>> Before we can use any domain allocated IRQ, we need to first create a
>> map between the Hardware IRQ (hwirq) and the Linux Virtual IRQ (virq).
>> We do this with a helper function provided by the AB8500 IRQ domain
>> controller called ab8500_irq_get_virq(). We need to do this for both
>> IRQs which the Power-On-Key driver uses; one for button press, the other
>> for button depress.
>>
>> Signed-off-by: Lee Jones <lee.jones@linaro.org>
>
> Now since I was fooled by the last patch, thinking you had tested it before
> submitting (obviously not) - please send a test log of some
> cat /dev/input/event* for this one before I ACK it this time.

I did test it, but must have only looked at the one IRQ incrementing.

I can provide a log tomorrow if it makes you feel better. :)
Dmitry Torokhov July 10, 2012, 6:17 a.m. UTC | #3
On Mon, Jul 09, 2012 at 10:59:43PM +0200, Lee Jones wrote:
> Sorry for the cock-up(s).
> 
> From: Lee Jones <lee.jones@linaro.org>
> Date: Tue, 26 Jun 2012 10:46:50 +0100
> Subject: [PATCH 1/1] Input: ab8500-ponkey: Create AB8500 domain IRQ mapping
> 
> Before we can use any domain allocated IRQ, we need to first create a
> map between the Hardware IRQ (hwirq) and the Linux Virtual IRQ (virq).
> We do this with a helper function provided by the AB8500 IRQ domain
> controller called ab8500_irq_get_virq(). We need to do this for both
> IRQs which the Power-On-Key driver uses; one for button press, the other
> for button depress.
> 
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

I think it would be best if this got merged through whatever tree that
was used to introduce ab8500_irq_get_virq(); otherwise it will have to
wait till I resync with mainline sometime in the middle of the next
release cycle.

Thanks.

> ---
>  drivers/input/misc/ab8500-ponkey.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/input/misc/ab8500-ponkey.c b/drivers/input/misc/ab8500-ponkey.c
> index 5ceb23e..f6764af 100644
> --- a/drivers/input/misc/ab8500-ponkey.c
> +++ b/drivers/input/misc/ab8500-ponkey.c
> @@ -74,8 +74,8 @@ static int __devinit ab8500_ponkey_probe(struct platform_device *pdev)
>  
>  	ponkey->idev = input;
>  	ponkey->ab8500 = ab8500;
> -	ponkey->irq_dbf = irq_dbf;
> -	ponkey->irq_dbr = irq_dbr;
> +	ponkey->irq_dbf = ab8500_irq_get_virq(ab8500, irq_dbf);
> +	ponkey->irq_dbr = ab8500_irq_get_virq(ab8500, irq_dbr);
>  
>  	input->name = "AB8500 POn(PowerOn) Key";
>  	input->dev.parent = &pdev->dev;
> -- 
> 1.7.9.5
> 
> 
>
Lee Jones July 10, 2012, 6:22 a.m. UTC | #4
On 10/07/12 08:17, Dmitry Torokhov wrote:
> On Mon, Jul 09, 2012 at 10:59:43PM +0200, Lee Jones wrote:
>> Sorry for the cock-up(s).
>>
>> From: Lee Jones <lee.jones@linaro.org>
>> Date: Tue, 26 Jun 2012 10:46:50 +0100
>> Subject: [PATCH 1/1] Input: ab8500-ponkey: Create AB8500 domain IRQ mapping
>>
>> Before we can use any domain allocated IRQ, we need to first create a
>> map between the Hardware IRQ (hwirq) and the Linux Virtual IRQ (virq).
>> We do this with a helper function provided by the AB8500 IRQ domain
>> controller called ab8500_irq_get_virq(). We need to do this for both
>> IRQs which the Power-On-Key driver uses; one for button press, the other
>> for button depress.
>>
>> Signed-off-by: Lee Jones <lee.jones@linaro.org>
>
> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
>
> I think it would be best if this got merged through whatever tree that
> was used to introduce ab8500_irq_get_virq(); otherwise it will have to
> wait till I resync with mainline sometime in the middle of the next
> release cycle.
>
> Thanks.

No problem. I'll send it though ARM-SoC.

>> ---
>>   drivers/input/misc/ab8500-ponkey.c |    4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/input/misc/ab8500-ponkey.c b/drivers/input/misc/ab8500-ponkey.c
>> index 5ceb23e..f6764af 100644
>> --- a/drivers/input/misc/ab8500-ponkey.c
>> +++ b/drivers/input/misc/ab8500-ponkey.c
>> @@ -74,8 +74,8 @@ static int __devinit ab8500_ponkey_probe(struct platform_device *pdev)
>>
>>   	ponkey->idev = input;
>>   	ponkey->ab8500 = ab8500;
>> -	ponkey->irq_dbf = irq_dbf;
>> -	ponkey->irq_dbr = irq_dbr;
>> +	ponkey->irq_dbf = ab8500_irq_get_virq(ab8500, irq_dbf);
>> +	ponkey->irq_dbr = ab8500_irq_get_virq(ab8500, irq_dbr);
>>
>>   	input->name = "AB8500 POn(PowerOn) Key";
>>   	input->dev.parent = &pdev->dev;
>> --
>> 1.7.9.5
>>
>>
>>
>
Linus Walleij July 10, 2012, 9:08 p.m. UTC | #5
On Mon, Jul 9, 2012 at 11:21 PM, Lee Jones <lee.jones@linaro.org> wrote:
> On 09/07/12 23:03, Linus Walleij wrote:

>> Now since I was fooled by the last patch, thinking you had tested it
>> before
>> submitting (obviously not) - please send a test log of some
>> cat /dev/input/event* for this one before I ACK it this time.

(Hm, sorry for grumpy mode...)

> I did test it, but must have only looked at the one IRQ incrementing.

That's not enough, cat /dev/input/event/* whatever event node is used
by the ponkey, press it and verify you get some garbage (=events)
in the console.

Yours,
Linus Walleij
Mark Brown July 12, 2012, 4:37 p.m. UTC | #6
On Tue, Jul 10, 2012 at 11:08:39PM +0200, Linus Walleij wrote:
> On Mon, Jul 9, 2012 at 11:21 PM, Lee Jones <lee.jones@linaro.org> wrote:

> > I did test it, but must have only looked at the one IRQ incrementing.

> That's not enough, cat /dev/input/event/* whatever event node is used
> by the ponkey, press it and verify you get some garbage (=events)
> in the console.

There's the evtest debug program which is very handy for testing input
API stuff (Google should throw up copies, it's just a .c file).
Lee Jones July 13, 2012, 1:43 p.m. UTC | #7
On 10/07/12 22:08, Linus Walleij wrote:
> On Mon, Jul 9, 2012 at 11:21 PM, Lee Jones <lee.jones@linaro.org> wrote:
>> On 09/07/12 23:03, Linus Walleij wrote:
>
>>> Now since I was fooled by the last patch, thinking you had tested it
>>> before
>>> submitting (obviously not) - please send a test log of some
>>> cat /dev/input/event* for this one before I ACK it this time.
>
> (Hm, sorry for grumpy mode...)
>
>> I did test it, but must have only looked at the one IRQ incrementing.
>
> That's not enough, cat /dev/input/event/* whatever event node is used
> by the ponkey, press it and verify you get some garbage (=events)
> in the console.

Yes, garbage seen, works fine.

Also:

> # cat /proc/interrupts
>            CPU0       CPU1
>   6:          0          0    ab8500  ab8500-ponkey-dbf
>   7:          0          0    ab8500  ab8500-ponkey-dbr

Press, release, press, release:

> # cat /proc/interrupts
>            CPU0       CPU1
>   6:          0          2    ab8500  ab8500-ponkey-dbf
>   7:          0          2    ab8500  ab8500-ponkey-dbr
Linus Walleij July 14, 2012, 9:36 p.m. UTC | #8
On Fri, Jul 13, 2012 at 3:43 PM, Lee Jones <lee.jones@linaro.org> wrote:
> On 10/07/12 22:08, Linus Walleij wrote:

>> That's not enough, cat /dev/input/event/* whatever event node is used
>> by the ponkey, press it and verify you get some garbage (=events)
>> in the console.
>
> Yes, garbage seen, works fine.

OK!
Acked-by: on whatever Dmitry Acked.

Yours,
Linus Walleij
diff mbox

Patch

diff --git a/drivers/input/misc/ab8500-ponkey.c b/drivers/input/misc/ab8500-ponkey.c
index 5ceb23e..f6764af 100644
--- a/drivers/input/misc/ab8500-ponkey.c
+++ b/drivers/input/misc/ab8500-ponkey.c
@@ -74,8 +74,8 @@  static int __devinit ab8500_ponkey_probe(struct platform_device *pdev)
 
 	ponkey->idev = input;
 	ponkey->ab8500 = ab8500;
-	ponkey->irq_dbf = irq_dbf;
-	ponkey->irq_dbr = irq_dbr;
+	ponkey->irq_dbf = ab8500_irq_get_virq(ab8500, irq_dbf);
+	ponkey->irq_dbr = ab8500_irq_get_virq(ab8500, irq_dbr);
 
 	input->name = "AB8500 POn(PowerOn) Key";
 	input->dev.parent = &pdev->dev;