diff options
author | Atul Dahiya <atul.dahiya@samsung.com> | 2010-10-08 08:00:02 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2010-10-18 05:33:04 -0400 |
commit | 3d4af5cac77f8d4f7422b1d00cb9e67000f94301 (patch) | |
tree | d1bb6cb64454c6e7d5e550779cbcabe9726a7c26 | |
parent | d7297612ae53dfaf88b702f89a153d3da52bcd31 (diff) |
ARM: S5P64X0: Fix GPIO rbank support
The patch removes s3c_gpio_lock/unlock to avoid acquiring the lock
recursively as lock is already acquired by calling function.
Signed-off-by: Atul Dahiya <atul.dahiya@samsung.com>
Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
[kgene.kim@samsung.com: removed useless variable due to this]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r-- | arch/arm/mach-s5p64x0/gpio.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/arch/arm/mach-s5p64x0/gpio.c b/arch/arm/mach-s5p64x0/gpio.c index 131eefe0c9f2..39159dd5a29a 100644 --- a/arch/arm/mach-s5p64x0/gpio.c +++ b/arch/arm/mach-s5p64x0/gpio.c | |||
@@ -132,7 +132,6 @@ int s5p64x0_gpio_setcfg_4bit_rbank(struct s3c_gpio_chip *chip, | |||
132 | { | 132 | { |
133 | void __iomem *reg = chip->base; | 133 | void __iomem *reg = chip->base; |
134 | unsigned int shift; | 134 | unsigned int shift; |
135 | unsigned long flags; | ||
136 | u32 con; | 135 | u32 con; |
137 | 136 | ||
138 | switch (off) { | 137 | switch (off) { |
@@ -158,15 +157,11 @@ int s5p64x0_gpio_setcfg_4bit_rbank(struct s3c_gpio_chip *chip, | |||
158 | cfg <<= shift; | 157 | cfg <<= shift; |
159 | } | 158 | } |
160 | 159 | ||
161 | s3c_gpio_lock(chip, flags); | ||
162 | |||
163 | con = __raw_readl(reg); | 160 | con = __raw_readl(reg); |
164 | con &= ~(0xf << shift); | 161 | con &= ~(0xf << shift); |
165 | con |= cfg; | 162 | con |= cfg; |
166 | __raw_writel(con, reg); | 163 | __raw_writel(con, reg); |
167 | 164 | ||
168 | s3c_gpio_unlock(chip, flags); | ||
169 | |||
170 | return 0; | 165 | return 0; |
171 | } | 166 | } |
172 | 167 | ||