]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
gpiolib: Add comments explaining the _cansleep() WARN_ON()s
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 17 Feb 2012 18:46:00 +0000 (10:46 -0800)
committerGrant Likely <grant.likely@secretlab.ca>
Mon, 5 Mar 2012 15:05:08 +0000 (08:05 -0700)
I've seen users getting very confused by the WARN_ON()s for can_sleep
GPIOs in the atomic-safe paths, the discoverability of the non-atomic
version of the API seems to be hampered by the fact that it's defined
in a header file not the .c file where the warnings are.

Add a couple of comments next to the warnings to help people on their
way.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Reviwed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/gpio/gpiolib.c

index 58f40dfc52656f6553706c5ccfee9632ce422461..5a75510d66bb14a2148c71432104fc7ac5f39d9b 100644 (file)
@@ -1581,6 +1581,7 @@ int __gpio_get_value(unsigned gpio)
        int value;
 
        chip = gpio_to_chip(gpio);
+       /* Should be using gpio_get_value_cansleep() */
        WARN_ON(chip->can_sleep);
        value = chip->get ? chip->get(chip, gpio - chip->base) : 0;
        trace_gpio_value(gpio, 1, value);
@@ -1653,6 +1654,7 @@ void __gpio_set_value(unsigned gpio, int value)
        struct gpio_chip        *chip;
 
        chip = gpio_to_chip(gpio);
+       /* Should be using gpio_set_value_cansleep() */
        WARN_ON(chip->can_sleep);
        trace_gpio_value(gpio, 0, value);
        if (test_bit(FLAG_OPEN_DRAIN,  &gpio_desc[gpio].flags))