aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-pxa/cm-x2xx-pci.c2
-rw-r--r--arch/arm/mach-pxa/lpd270.c2
-rw-r--r--arch/arm/mach-pxa/lubbock.c2
-rw-r--r--arch/arm/mach-pxa/mainstone.c2
-rw-r--r--arch/arm/mach-pxa/pcm990-baseboard.c3
-rw-r--r--arch/arm/mach-pxa/viper.c2
6 files changed, 6 insertions, 7 deletions
diff --git a/arch/arm/mach-pxa/cm-x2xx-pci.c b/arch/arm/mach-pxa/cm-x2xx-pci.c
index 7873fa3d8fa4..161fc2d61207 100644
--- a/arch/arm/mach-pxa/cm-x2xx-pci.c
+++ b/arch/arm/mach-pxa/cm-x2xx-pci.c
@@ -59,7 +59,7 @@ void __init cmx2xx_pci_adjust_zones(int node, unsigned long *zone_size,
59static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc) 59static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
60{ 60{
61 /* clear our parent irq */ 61 /* clear our parent irq */
62 GEDR(cmx2xx_it8152_irq_gpio) = GPIO_bit(cmx2xx_it8152_irq_gpio); 62 desc->chip->ack(irq);
63 63
64 it8152_irq_demux(irq, desc); 64 it8152_irq_demux(irq, desc);
65} 65}
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c
index 1373c22dbb83..c87abc3334cb 100644
--- a/arch/arm/mach-pxa/lpd270.c
+++ b/arch/arm/mach-pxa/lpd270.c
@@ -121,7 +121,7 @@ static void lpd270_irq_handler(unsigned int irq, struct irq_desc *desc)
121 121
122 pending = __raw_readw(LPD270_INT_STATUS) & lpd270_irq_enabled; 122 pending = __raw_readw(LPD270_INT_STATUS) & lpd270_irq_enabled;
123 do { 123 do {
124 GEDR(0) = GPIO_bit(0); /* clear useless edge notification */ 124 desc->chip->ack(irq); /* clear useless edge notification */
125 if (likely(pending)) { 125 if (likely(pending)) {
126 irq = LPD270_IRQ(0) + __ffs(pending); 126 irq = LPD270_IRQ(0) + __ffs(pending);
127 generic_handle_irq(irq); 127 generic_handle_irq(irq);
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c
index 98ee7e590299..d9982b16f8c0 100644
--- a/arch/arm/mach-pxa/lubbock.c
+++ b/arch/arm/mach-pxa/lubbock.c
@@ -158,7 +158,7 @@ static void lubbock_irq_handler(unsigned int irq, struct irq_desc *desc)
158{ 158{
159 unsigned long pending = LUB_IRQ_SET_CLR & lubbock_irq_enabled; 159 unsigned long pending = LUB_IRQ_SET_CLR & lubbock_irq_enabled;
160 do { 160 do {
161 GEDR(0) = GPIO_bit(0); /* clear our parent irq */ 161 desc->chip->ack(irq); /* clear our parent irq */
162 if (likely(pending)) { 162 if (likely(pending)) {
163 irq = LUBBOCK_IRQ(0) + __ffs(pending); 163 irq = LUBBOCK_IRQ(0) + __ffs(pending);
164 generic_handle_irq(irq); 164 generic_handle_irq(irq);
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c
index 851ee0fc32e2..a8674aacd347 100644
--- a/arch/arm/mach-pxa/mainstone.c
+++ b/arch/arm/mach-pxa/mainstone.c
@@ -162,7 +162,7 @@ static void mainstone_irq_handler(unsigned int irq, struct irq_desc *desc)
162{ 162{
163 unsigned long pending = MST_INTSETCLR & mainstone_irq_enabled; 163 unsigned long pending = MST_INTSETCLR & mainstone_irq_enabled;
164 do { 164 do {
165 GEDR(0) = GPIO_bit(0); /* clear useless edge notification */ 165 desc->chip->ack(irq); /* clear useless edge notification */
166 if (likely(pending)) { 166 if (likely(pending)) {
167 irq = MAINSTONE_IRQ(0) + __ffs(pending); 167 irq = MAINSTONE_IRQ(0) + __ffs(pending);
168 generic_handle_irq(irq); 168 generic_handle_irq(irq);
diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c b/arch/arm/mach-pxa/pcm990-baseboard.c
index d5255ae74fe3..e74bdfc2551d 100644
--- a/arch/arm/mach-pxa/pcm990-baseboard.c
+++ b/arch/arm/mach-pxa/pcm990-baseboard.c
@@ -259,8 +259,7 @@ static void pcm990_irq_handler(unsigned int irq, struct irq_desc *desc)
259 unsigned long pending = (~PCM990_INTSETCLR) & pcm990_irq_enabled; 259 unsigned long pending = (~PCM990_INTSETCLR) & pcm990_irq_enabled;
260 260
261 do { 261 do {
262 GEDR(PCM990_CTRL_INT_IRQ_GPIO) = 262 desc->chip->ack(irq); /* clear our parent IRQ */
263 GPIO_bit(PCM990_CTRL_INT_IRQ_GPIO);
264 if (likely(pending)) { 263 if (likely(pending)) {
265 irq = PCM027_IRQ(0) + __ffs(pending); 264 irq = PCM027_IRQ(0) + __ffs(pending);
266 generic_handle_irq(irq); 265 generic_handle_irq(irq);
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c
index 89f258c9e126..12d4ed338d03 100644
--- a/arch/arm/mach-pxa/viper.c
+++ b/arch/arm/mach-pxa/viper.c
@@ -281,7 +281,7 @@ static void viper_irq_handler(unsigned int irq, struct irq_desc *desc)
281 do { 281 do {
282 /* we're in a chained irq handler, 282 /* we're in a chained irq handler,
283 * so ack the interrupt by hand */ 283 * so ack the interrupt by hand */
284 GEDR(VIPER_CPLD_GPIO) = GPIO_bit(VIPER_CPLD_GPIO); 284 desc->chip->ack(irq);
285 285
286 if (likely(pending)) { 286 if (likely(pending)) {
287 irq = viper_bit_to_irq(__ffs(pending)); 287 irq = viper_bit_to_irq(__ffs(pending));