This update (to this patch) resolves that problem ... please
merge this into the next version.
--- beagle.orig/drivers/gpio/twl4030-gpio.c     2008-09-29 17:19:37.000000000 
-0700
+++ beagle/drivers/gpio/twl4030-gpio.c  2008-09-29 17:16:04.000000000 -0700
@@ -41,9 +41,22 @@
 #include <linux/i2c/twl4030-gpio.h>
 
 
+static inline void activate_irq(int irq)
+{
+#ifdef CONFIG_ARM
+       /* ARM requires an extra step to clear IRQ_NOREQUEST, which it
+        * sets on behalf of every irq_chip.  Also sets IRQ_NOPROBE.
+        */
+       set_irq_flags(irq, IRQF_VALID);
+#else
+       /* same effect on other architectures */
+       set_irq_noprobe(irq);
+#endif
+}
+
+static struct gpio_chip twl_gpiochip;
 static int twl4030_gpio_irq_base;
 static int twl4030_gpio_irq_end;
-static struct gpio_chip twl_gpiochip;
 
 /* genirq interfaces are not available to modules */
 #ifdef MODULE
@@ -839,9 +852,9 @@ static int __devinit gpio_twl4030_probe(
                /* install an irq handler for each of the gpio interrupts */
                for (irq = twl4030_gpio_irq_base; irq < twl4030_gpio_irq_end;
                                irq++) {
-                       set_irq_noprobe(irq);
                        set_irq_chip_and_handler(irq, &twl4030_gpio_irq_chip,
                                        do_twl4030_gpio_irq);
+                       activate_irq(irq);
                }
 
                /* gpio module IRQ */



--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to