diff options
author | Cyril Chemparathy <cyril@ti.com> | 2010-05-01 18:37:55 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2010-05-06 15:02:09 -0700 |
commit | b27b6d03f245e5eaf6473da58a2612077fb7cfe7 (patch) | |
tree | b6ed359c8b604edcaed5025aa83c57d77daec1a9 /arch/arm/mach-davinci/include | |
parent | 686b634a07451fc4fe3b712fe211bfa861a53241 (diff) |
Davinci: gpio - fine grained locking
This patch eliminates the global gpio_lock, and implements a per-controller
lock instead. This also switches to irqsave/irqrestore locks in case gpios
are manipulated in isr.
Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Tested-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-davinci/include')
-rw-r--r-- | arch/arm/mach-davinci/include/mach/gpio.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/include/mach/gpio.h b/arch/arm/mach-davinci/include/mach/gpio.h index 9a71a26eb77..504cc180a60 100644 --- a/arch/arm/mach-davinci/include/mach/gpio.h +++ b/arch/arm/mach-davinci/include/mach/gpio.h @@ -14,6 +14,8 @@ #define __DAVINCI_GPIO_H #include <linux/io.h> +#include <linux/spinlock.h> + #include <asm-generic/gpio.h> #include <mach/irqs.h> @@ -52,6 +54,7 @@ enum davinci_gpio_type { struct davinci_gpio_controller { struct gpio_chip chip; int irq_base; + spinlock_t lock; void __iomem *regs; void __iomem *set_data; void __iomem *clr_data; |