aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci/gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-davinci/gpio.c')
-rw-r--r--arch/arm/mach-davinci/gpio.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/arm/mach-davinci/gpio.c b/arch/arm/mach-davinci/gpio.c
index c9cb4f09b18f..574cb810a500 100644
--- a/arch/arm/mach-davinci/gpio.c
+++ b/arch/arm/mach-davinci/gpio.c
@@ -201,7 +201,6 @@ gpio_irq_handler(unsigned irq, struct irq_desc *desc)
201 desc->chip->ack(irq); 201 desc->chip->ack(irq);
202 while (1) { 202 while (1) {
203 u32 status; 203 u32 status;
204 struct irq_desc *gpio;
205 int n; 204 int n;
206 int res; 205 int res;
207 206
@@ -215,12 +214,10 @@ gpio_irq_handler(unsigned irq, struct irq_desc *desc)
215 214
216 /* now demux them to the right lowlevel handler */ 215 /* now demux them to the right lowlevel handler */
217 n = (int)get_irq_data(irq); 216 n = (int)get_irq_data(irq);
218 gpio = &irq_desc[n];
219 while (status) { 217 while (status) {
220 res = ffs(status); 218 res = ffs(status);
221 n += res; 219 n += res;
222 gpio += res; 220 generic_handle_irq(n - 1);
223 desc_handle_irq(n - 1, gpio - 1);
224 status >>= res; 221 status >>= res;
225 } 222 }
226 } 223 }