]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/blackfin/kernel/bfin_gpio.c
Merge branch 'audit.b51' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit...
[linux-2.6-omap-h63xx.git] / arch / blackfin / kernel / bfin_gpio.c
index 7e8eaf4a31bbc64ffbe17602c5b8ec1bbd8e8c45..b6d89d1644cc8515c1909865e01fdf83e9ede39f 100644 (file)
@@ -1130,6 +1130,25 @@ void bfin_gpio_irq_prepare(unsigned gpio)
 
 #else
 
+int gpio_get_value(unsigned gpio)
+{
+       unsigned long flags;
+       int ret;
+
+       if (unlikely(get_gpio_edge(gpio))) {
+               local_irq_save(flags);
+               set_gpio_edge(gpio, 0);
+               ret = get_gpio_data(gpio);
+               set_gpio_edge(gpio, 1);
+               local_irq_restore(flags);
+
+               return ret;
+       } else
+               return get_gpio_data(gpio);
+}
+EXPORT_SYMBOL(gpio_get_value);
+
+
 int gpio_direction_input(unsigned gpio)
 {
        unsigned long flags;