]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/blobdiff - arch/arm/plat-samsung/s5p-irq-gpioint.c
Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[can-eth-gw-linux.git] / arch / arm / plat-samsung / s5p-irq-gpioint.c
index 23557d30e44ceb9e6124f4cb19b9851325db67ea..bae56131a50a44e7dc7fff38beef9cc8e9d7cbe2 100644 (file)
@@ -185,7 +185,7 @@ int __init s5p_register_gpio_interrupt(int pin)
 
        /* check if the group has been already registered */
        if (my_chip->irq_base)
-               return my_chip->irq_base + offset;
+               goto success;
 
        /* register gpio group */
        ret = s5p_gpioint_add(my_chip);
@@ -193,9 +193,13 @@ int __init s5p_register_gpio_interrupt(int pin)
                my_chip->chip.to_irq = samsung_gpiolib_to_irq;
                printk(KERN_INFO "Registered interrupt support for gpio group %d.\n",
                       group);
-               return my_chip->irq_base + offset;
+               goto success;
        }
        return ret;
+success:
+       my_chip->bitmap_gpio_int |= BIT(offset);
+
+       return my_chip->irq_base + offset;
 }
 
 int __init s5p_register_gpioint_bank(int chain_irq, int start, int nr_groups)