diff options
author | Aaron Lu <aaron.lu@intel.com> | 2014-05-20 17:07:38 +0800 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2014-05-23 14:36:24 +0200 |
commit | dc62b56a68d3d6dd1044e1f7d0c8310339cb5b5f (patch) | |
tree | bfb3aed6c695b9485c089b9411d441b30b2febe1 /drivers/gpio/gpiolib-acpi.c | |
parent | 7b42e3dbdafcc0454ffbce0a88b6d3f456e70d85 (diff) |
gpio / ACPI: use *_cansleep version of gpiod_get/set APIs
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>
Acked-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpiolib-acpi.c')
-rw-r--r-- | drivers/gpio/gpiolib-acpi.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c index 401add28933f..4a987917c186 100644 --- a/drivers/gpio/gpiolib-acpi.c +++ b/drivers/gpio/gpiolib-acpi.c @@ -449,9 +449,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 |= (u64)gpiod_get_raw_value(desc) << i; + *value |= (u64)gpiod_get_raw_value_cansleep(desc) << i; } out: |