From: Mark Brown Date: Fri, 17 Feb 2012 18:46:00 +0000 (-0800) Subject: gpiolib: Add comments explaining the _cansleep() WARN_ON()s X-Git-Tag: firefly_0821_release~3680^2~3226^2~18 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e4e449e82871c53ef3b22bd3a50fceabc0638926;p=firefly-linux-kernel-4.4.55.git gpiolib: Add comments explaining the _cansleep() WARN_ON()s 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 Reviwed-by: Mark Brown Signed-off-by: Grant Likely --- diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 58f40dfc5265..5a75510d66bb 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -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))