linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] gpio / ACPI: use *_cansleep version of gpiod_get/set APIs
@ 2014-05-20  8:43 Aaron Lu
  2014-05-20  8:50 ` Mika Westerberg
  0 siblings, 1 reply; 6+ messages in thread
From: Aaron Lu @ 2014-05-20  8:43 UTC (permalink / raw)
  To: Mika Westerberg, Linus Walleij, Alexandre Courbot; +Cc: linux-gpio

The GPIO operation region handler should be called where sleep is
allowed, so we should use the *_cansleep version of gpiod_get/set APIs
or we will get a warning message complaining invalid context if the GPIO
chip has the cansleep flag set.

Signed-off-by: Aaron Lu <aaron.lu@intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
 drivers/gpio/gpiolib-acpi.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index bf0f8b4..2d398a6 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -17,6 +17,7 @@
 #include <linux/acpi.h>
 #include <linux/interrupt.h>
 #include <linux/mutex.h>
+#include <linux/gpio.h>
 
 #include "gpiolib.h"
 
@@ -449,9 +450,10 @@ acpi_gpio_adr_space_handler(u32 function, acpi_physical_address address,
 		mutex_unlock(&achip->conn_lock);
 
 		if (function == ACPI_WRITE)
-			gpiod_set_raw_value(desc, !!((1 << i) & *value));
+			gpiod_set_raw_value_cansleep(desc,
+						     !!((1 << i) & *value));
 		else
-			*value |= gpiod_get_raw_value(desc) << i;
+			*value |= gpiod_get_raw_value_cansleep(desc) << i;
 	}
 
 out:
-- 
1.9.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-05-23 12:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-20  8:43 [PATCH] gpio / ACPI: use *_cansleep version of gpiod_get/set APIs Aaron Lu
2014-05-20  8:50 ` Mika Westerberg
2014-05-20  8:58   ` Aaron Lu
2014-05-20  9:07     ` [PATCH v2] " Aaron Lu
2014-05-21  2:35       ` Alexandre Courbot
2014-05-23 12:37       ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).