All of lore.kernel.org
 help / color / mirror / Atom feed
* gpio-pca953x.c
@ 2014-11-12 14:54 Naitik Amin
  2014-11-21 15:39 ` gpio-pca953x.c Grygorii Strashko
  0 siblings, 1 reply; 2+ messages in thread
From: Naitik Amin @ 2014-11-12 14:54 UTC (permalink / raw)
  To: linux-gpio

HI there,

I am trying to use the gpio driver for pca953x with IRQ enabled config. When 
the device gets probbed, I gives me an error saying :
"failed to set trigger mode 8"

The probe called,
ret = devm_request_threaded_irq(&client->dev,
					client->irq,
					   NULL,
					   pca953x_irq_handler,
					   IRQF_TRIGGER_LOW | IRQF_ONESHOT,
					   dev_name(&client->dev), chip);

with IRQF_TRIGGER_LOW as a flag

I did some tracing and found out, irq set type, went to gic_set_type in irq-
gic.c ( http://lxr.free-electrons.com/source/drivers/irqchip/irq-gic.c#L187 )

But gic_set_type, only wants to see either IRQF_TRIGGER_HIGH OR 
IRQF_TRIGGER_LOW, thats why it returned.

Questions
1. Is it correct that irq set type went to gic_set_type, bcoz pca953x does 
provide one of itself.





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: gpio-pca953x.c
  2014-11-12 14:54 gpio-pca953x.c Naitik Amin
@ 2014-11-21 15:39 ` Grygorii Strashko
  0 siblings, 0 replies; 2+ messages in thread
From: Grygorii Strashko @ 2014-11-21 15:39 UTC (permalink / raw)
  To: Naitik Amin, linux-gpio

On 11/12/2014 04:54 PM, Naitik Amin wrote:
> HI there,
>
> I am trying to use the gpio driver for pca953x with IRQ enabled config. When
> the device gets probbed, I gives me an error saying :
> "failed to set trigger mode 8"
>
> The probe called,
> ret = devm_request_threaded_irq(&client->dev,
> 					client->irq,
> 					   NULL,
> 					   pca953x_irq_handler,
> 					   IRQF_TRIGGER_LOW | IRQF_ONESHOT,
> 					   dev_name(&client->dev), chip);
>
> with IRQF_TRIGGER_LOW as a flag

try to remove IRQF_TRIGGER_LOW

>
> I did some tracing and found out, irq set type, went to gic_set_type in irq-
> gic.c ( http://lxr.free-electrons.com/source/drivers/irqchip/irq-gic.c#L187 )
>
> But gic_set_type, only wants to see either IRQF_TRIGGER_HIGH OR
> IRQF_TRIGGER_LOW, thats why it returned.
if (type != IRQ_TYPE_LEVEL_HIGH && type != IRQ_TYPE_EDGE_RISING)

>
> Questions
> 1. Is it correct that irq set type went to gic_set_type, bcoz pca953x does
> provide one of itself.

Valid IRQ types are IRQ controller specific values.

You don't need all this magic in code any more if you are using DT,
which should provide valid configuration of IRQ type.

if not-DT - res.flags should be used.


regards,
-grygorii




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-11-21 15:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-12 14:54 gpio-pca953x.c Naitik Amin
2014-11-21 15:39 ` gpio-pca953x.c Grygorii Strashko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.