]> err.no Git - linux-2.6/blobdiff - drivers/mfd/sm501.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
[linux-2.6] / drivers / mfd / sm501.c
index 79d7aea5510b41689dd503b31e66bbcc54708192..7aebad4c06ff939114bdff7f5f58874ee197f96d 100644 (file)
@@ -1108,7 +1108,9 @@ static void sm501_gpio_remove(struct sm501_devdata *sm)
 static inline int sm501_gpio_pin2nr(struct sm501_devdata *sm, unsigned int pin)
 {
        struct sm501_gpio *gpio = &sm->gpio;
-       return pin + (pin < 32) ? gpio->low.gpio.base : gpio->high.gpio.base;
+       int base = (pin < 32) ? gpio->low.gpio.base : gpio->high.gpio.base;
+
+       return (pin % 32) + base;
 }
 
 static inline int sm501_gpio_isregistered(struct sm501_devdata *sm)