summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx
diff options
context:
space:
mode:
authorUwe Kleine-König <ukleinek@informatik.uni-freiburg.de>2008-10-29 14:14:54 -0700
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-10-30 14:41:50 +0000
commit9c6568501cbf731a910db2fcb7d094977dcb154c (patch)
treedda2ce4a1a7cd65134328fe4f199bff810ab4ba6 /arch/arm/mach-imx
parent63890a0ee1af994122094bd01f87ea6251631a3f (diff)
downloadlinux-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-imx')
-rw-r--r--arch/arm/mach-imx/include/mach/gpio.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/include/mach/gpio.h b/arch/arm/mach-imx/include/mach/gpio.h
index 6e3d795f2264..502d5aa2c093 100644
--- a/arch/arm/mach-imx/include/mach/gpio.h
+++ b/arch/arm/mach-imx/include/mach/gpio.h
@@ -1,5 +1,6 @@
#ifndef _IMX_GPIO_H
+#include <linux/kernel.h>
#include <mach/imx-regs.h>
#define IMX_GPIO_ALLOC_MODE_NORMAL 0
@@ -63,6 +64,8 @@ static inline int gpio_request(unsigned gpio, const char *label)
static inline void gpio_free(unsigned gpio)
{
+ might_sleep();
+
imx_gpio_free(gpio);
}