diff options
author | Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de> | 2008-10-29 14:14:54 -0700 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-10-30 14:41:50 +0000 |
commit | 9c6568501cbf731a910db2fcb7d094977dcb154c (patch) | |
tree | dda2ce4a1a7cd65134328fe4f199bff810ab4ba6 /arch/arm/mach-orion5x | |
parent | 63890a0ee1af994122094bd01f87ea6251631a3f (diff) | |
download | linux-stable-9c6568501cbf731a910db2fcb7d094977dcb154c.tar.gz linux-stable-9c6568501cbf731a910db2fcb7d094977dcb154c.tar.bz2 linux-stable-9c6568501cbf731a910db2fcb7d094977dcb154c.zip |
[ARM] gpio_free might sleep, arm architecture
According to the documentation gpio_free should only be called from task
context only. To make this more explicit add a might sleep to all
implementations.
This patch changes the gpio_free implementations for the arm architecture.
DaVinci is skipped on purpose to simplify the merge process for patches
switching it over to use gpiolib as per request by David Brownell.
Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Cc: David Brownell <david-b@pacbell.net>
Cc: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-orion5x')
-rw-r--r-- | arch/arm/mach-orion5x/gpio.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-orion5x/gpio.c b/arch/arm/mach-orion5x/gpio.c index fc419868e39f..f99d08811e5a 100644 --- a/arch/arm/mach-orion5x/gpio.c +++ b/arch/arm/mach-orion5x/gpio.c @@ -165,6 +165,8 @@ EXPORT_SYMBOL(gpio_request); void gpio_free(unsigned pin) { + might_sleep(); + if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { pr_debug("%s: invalid GPIO %d\n", __func__, pin); return; |