]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/sh/kernel/gpio.c
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
[linux-2.6-omap-h63xx.git] / arch / sh / kernel / gpio.c
index bb8b812c6895c1f1d46299a9f4bb09d608ec3cdc..d371653610348313dc4b6481764b9b0ea4a08988 100644 (file)
@@ -267,9 +267,13 @@ int pinmux_config_gpio(struct pinmux_info *gpioc, unsigned gpio,
                        break;
 
                in_range = enum_in_range(enum_id, &gpioc->function);
-               if (!in_range && range)
+               if (!in_range && range) {
                        in_range = enum_in_range(enum_id, range);
 
+                       if (in_range && enum_id == range->force)
+                               continue;
+               }
+
                if (!in_range)
                        continue;
 
@@ -432,7 +436,7 @@ static int __gpio_get_set_value(struct pinmux_info *gpioc,
                BUG();
        else
                value = read_write_reg(dr->reg, dr->reg_width,
-                                      1, bit, value, do_write);
+                                      1, bit, !!value, do_write);
 
        return value;
 }