Message ID | 4FF6994B.9040801@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Lee, On Fri, Jul 06, 2012 at 08:52:43AM +0100, Lee Jones wrote: > Sorry Dmitry, looks like I missed you off of the CC list on this one. > > Here it is again: > > 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 | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/input/misc/ab8500-ponkey.c b/drivers/input/misc/ab8500-ponkey.c > index 5ceb23e..ae4b683 100644 > --- a/drivers/input/misc/ab8500-ponkey.c > +++ b/drivers/input/misc/ab8500-ponkey.c > @@ -82,6 +82,7 @@ static int __devinit ab8500_ponkey_probe(struct platform_device *pdev) > input_set_capability(input, EV_KEY, KEY_POWER); > + ponkey->irq_dbf = ab8500_irq_get_virq(ab8500, ponkey->irq_dbf); > error = request_any_context_irq(ponkey->irq_dbf, ab8500_ponkey_handler, > 0, "ab8500-ponkey-dbf", ponkey); > if (error < 0) { > @@ -90,6 +91,7 @@ static int __devinit ab8500_ponkey_probe(struct platform_device *pdev) > goto err_free_mem; > } > + ponkey->irq_dbf = ab8500_irq_get_virq(ab8500, ponkey->irq_dbr); I do not think this is right - you are storing irq_dbr in irq_dbf. Also, I think you want to do this earlier, like this: - 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); Thanks.
So I am. Great spot Dmitry. I'll fix and resubmit next week. Sent from my mobile Linux device. On Jul 6, 2012 6:40 PM, "Dmitry Torokhov" <dmitry.torokhov@gmail.com> wrote: > Hi Lee, > > On Fri, Jul 06, 2012 at 08:52:43AM +0100, Lee Jones wrote: > > Sorry Dmitry, looks like I missed you off of the CC list on this one. > > > > Here it is again: > > > > 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 | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/input/misc/ab8500-ponkey.c > b/drivers/input/misc/ab8500-ponkey.c > > index 5ceb23e..ae4b683 100644 > > --- a/drivers/input/misc/ab8500-ponkey.c > > +++ b/drivers/input/misc/ab8500-ponkey.c > > @@ -82,6 +82,7 @@ static int __devinit ab8500_ponkey_probe(struct > platform_device *pdev) > > input_set_capability(input, EV_KEY, KEY_POWER); > > + ponkey->irq_dbf = ab8500_irq_get_virq(ab8500, ponkey->irq_dbf); > > error = request_any_context_irq(ponkey->irq_dbf, > ab8500_ponkey_handler, > > 0, "ab8500-ponkey-dbf", ponkey); > > if (error < 0) { > > @@ -90,6 +91,7 @@ static int __devinit ab8500_ponkey_probe(struct > platform_device *pdev) > > goto err_free_mem; > > } > > + ponkey->irq_dbf = ab8500_irq_get_virq(ab8500, ponkey->irq_dbr); > > I do not think this is right - you are storing irq_dbr in irq_dbf. Also, > I think you want to do this earlier, like this: > > - 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); > > Thanks. > > -- > Dmitry >
diff --git a/drivers/input/misc/ab8500-ponkey.c b/drivers/input/misc/ab8500-ponkey.c index 5ceb23e..ae4b683 100644 --- a/drivers/input/misc/ab8500-ponkey.c +++ b/drivers/input/misc/ab8500-ponkey.c @@ -82,6 +82,7 @@ static int __devinit ab8500_ponkey_probe(struct platform_device *pdev) input_set_capability(input, EV_KEY, KEY_POWER); + ponkey->irq_dbf = ab8500_irq_get_virq(ab8500, ponkey->irq_dbf); error = request_any_context_irq(ponkey->irq_dbf, ab8500_ponkey_handler, 0, "ab8500-ponkey-dbf", ponkey); if (error < 0) { @@ -90,6 +91,7 @@ static int __devinit ab8500_ponkey_probe(struct platform_device *pdev) goto err_free_mem;
Sorry Dmitry, looks like I missed you off of the CC list on this one. Here it is again: 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 | 2 ++ 1 file changed, 2 insertions(+) } + ponkey->irq_dbf = ab8500_irq_get_virq(ab8500, ponkey->irq_dbr); error = request_any_context_irq(ponkey->irq_dbr, ab8500_ponkey_handler, 0, "ab8500-ponkey-dbr", ponkey); if (error < 0) {