Similar fix needs merging into patch 21 too.

--- beagle.orig/drivers/i2c/chips/twl4030-core.c        2008-09-29 
17:21:37.000000000 -0700
+++ beagle/drivers/i2c/chips/twl4030-core.c     2008-09-29 17:21:25.000000000 
-0700
@@ -75,6 +75,19 @@
 #define twl_has_usb()  false
 #endif
 
+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
+}
+
 /* Primary Interrupt Handler on TWL4030 Registers */
 
 /* Register Definitions */
@@ -1052,9 +1065,9 @@ static void twl_init_irq(int irq_num, un
 
        /* install an irq handler for each of the PIH modules */
        for (i = irq_base; i < irq_end; i++) {
-               set_irq_noprobe(i);
                set_irq_chip_and_handler(i, &twl4030_irq_chip,
                                do_twl4030_module_irq);
+               activate_irq(i);
        }
 
        /* install an irq handler to demultiplex the TWL4030 interrupt */
--
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