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