Skip to content

Commit

Permalink
gpiolib: Add comments explaining the _cansleep() WARN_ON()s
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Mark Brown authored and Grant Likely committed Mar 5, 2012
1 parent 25553ff commit e4e449e
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/gpio/gpiolib.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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))
Expand Down

0 comments on commit e4e449e

Please sign in to comment.