aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s5p64x0
diff options
context:
space:
mode:
authorAtul Dahiya <atul.dahiya@samsung.com>2010-10-08 08:00:02 -0400
committerKukjin Kim <kgene.kim@samsung.com>2010-10-18 05:33:04 -0400
commit3d4af5cac77f8d4f7422b1d00cb9e67000f94301 (patch)
treed1bb6cb64454c6e7d5e550779cbcabe9726a7c26 /arch/arm/mach-s5p64x0
parentd7297612ae53dfaf88b702f89a153d3da52bcd31 (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>
Diffstat (limited to 'arch/arm/mach-s5p64x0')
-rw-r--r--arch/arm/mach-s5p64x0/gpio.c5
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