Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / arch / arm / plat-omap / gpio.c
index 337199e..45a225d 100644 (file)
@@ -798,7 +798,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
        case METHOD_MPUIO:
                reg += OMAP_MPUIO_GPIO_INT_EDGE;
                l = __raw_readl(reg);
-               if (trigger & IRQ_TYPE_EDGE_BOTH)
+               if ((trigger & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH)
                        bank->toggle_mask |= 1 << gpio;
                if (trigger & IRQ_TYPE_EDGE_RISING)
                        l |= 1 << gpio;
@@ -812,7 +812,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
        case METHOD_GPIO_1510:
                reg += OMAP1510_GPIO_INT_CONTROL;
                l = __raw_readl(reg);
-               if (trigger & IRQ_TYPE_EDGE_BOTH)
+               if ((trigger & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH)
                        bank->toggle_mask |= 1 << gpio;
                if (trigger & IRQ_TYPE_EDGE_RISING)
                        l |= 1 << gpio;
@@ -846,7 +846,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
        case METHOD_GPIO_7XX:
                reg += OMAP7XX_GPIO_INT_CONTROL;
                l = __raw_readl(reg);
-               if (trigger & IRQ_TYPE_EDGE_BOTH)
+               if ((trigger & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH)
                        bank->toggle_mask |= 1 << gpio;
                if (trigger & IRQ_TYPE_EDGE_RISING)
                        l |= 1 << gpio;
@@ -2140,18 +2140,18 @@ void omap2_gpio_resume_after_retention(void)
                if (gen) {
                        u32 old0, old1;
 
-                       if (cpu_is_omap24xx() || cpu_is_omap44xx()) {
+                       if (cpu_is_omap24xx() || cpu_is_omap34xx()) {
                                old0 = __raw_readl(bank->base +
                                        OMAP24XX_GPIO_LEVELDETECT0);
                                old1 = __raw_readl(bank->base +
                                        OMAP24XX_GPIO_LEVELDETECT1);
-                       __raw_writel(old0 | gen, bank->base +
+                               __raw_writel(old0 | gen, bank->base +
                                        OMAP24XX_GPIO_LEVELDETECT0);
-                       __raw_writel(old1 | gen, bank->base +
+                               __raw_writel(old1 | gen, bank->base +
                                        OMAP24XX_GPIO_LEVELDETECT1);
-                       __raw_writel(old0, bank->base +
+                               __raw_writel(old0, bank->base +
                                        OMAP24XX_GPIO_LEVELDETECT0);
-                       __raw_writel(old1, bank->base +
+                               __raw_writel(old1, bank->base +
                                        OMAP24XX_GPIO_LEVELDETECT1);
                        }