* [PATCH 1/2][resend 2] gpio_keys: add gpio_to_irq return code check
@ 2007-09-20 7:01 Anti Sullin
0 siblings, 0 replies; only message in thread
From: Anti Sullin @ 2007-09-20 7:01 UTC (permalink / raw)
To: LKML; +Cc: dtor, akpm, david-b
As David Brownell pointed out when reviewing my suspend patch to
gpio_keys, the original gpio_keys driver does not check gpio_to_irq
return code.
This patch adds the gpio_to_irq return code check to gpio_keys and
moves the IRQ edge type setting to request_irq flags to avoid changing
the irq type before we have confirmed we can use it.
Signed-off-by: Anti Sullin <anti.sullin@artecdesign.ee>
---
Resent: Return code changed to irq error value
---
diff -pur clean/linux-2.6.23-rc5-at91/drivers/input/keyboard/gpio_keys.c linux-2.6.23-rc5-at91/drivers/input/keyboard/gpio_keys.c
--- clean/linux-2.6.23-rc5-at91/drivers/input/keyboard/gpio_keys.c 2007-09-01 09:08:24.000000000 +0300
+++ linux-2.6.23-rc5-at91/drivers/input/keyboard/gpio_keys.c 2007-09-18 19:27:25.000000000 +0300
@@ -77,10 +77,16 @@ static int __devinit gpio_keys_probe(str
int irq = gpio_to_irq(button->gpio);
unsigned int type = button->type ?: EV_KEY;
- set_irq_type(irq, IRQ_TYPE_EDGE_BOTH);
- error = request_irq(irq, gpio_keys_isr, IRQF_SAMPLE_RANDOM,
- button->desc ? button->desc : "gpio_keys",
- pdev);
+ if (irq < 0) {
+ error = irq;
+ printk(KERN_ERR "gpio-keys: unable to get irq number for GPIO %d; error %d\n",
+ button->gpio, error);
+ goto fail;
+ }
+
+ error = request_irq(irq, gpio_keys_isr,
+ IRQF_SAMPLE_RANDOM | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
+ button->desc ? button->desc : "gpio_keys", pdev);
if (error) {
printk(KERN_ERR "gpio-keys: unable to claim irq %d; error %d\n",
irq, error);
--
Anti Sullin
Embedded Software Engineer
Artec Design LLC
Türi 10C, 11313, Tallinn, Estonia
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-09-20 7:02 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-20 7:01 [PATCH 1/2][resend 2] gpio_keys: add gpio_to_irq return code check Anti Sullin
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.