[ARM] pxa: use chip->ack() instead of accessing GEDR directly
authorEric Miao <eric.y.miao@gmail.com>
Fri, 1 Jan 2010 07:29:22 +0000 (15:29 +0800)
committerEric Miao <eric.y.miao@gmail.com>
Mon, 1 Mar 2010 23:40:45 +0000 (07:40 +0800)
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
arch/arm/mach-pxa/cm-x2xx-pci.c
arch/arm/mach-pxa/lpd270.c
arch/arm/mach-pxa/lubbock.c
arch/arm/mach-pxa/mainstone.c
arch/arm/mach-pxa/pcm990-baseboard.c
arch/arm/mach-pxa/viper.c

index 7873fa3d8fa4ae17504c84b3caf3d3e13cc1d0aa..161fc2d6120705b2f4737c5f1980b7631fd089a5 100644 (file)
@@ -59,7 +59,7 @@ void __init cmx2xx_pci_adjust_zones(int node, unsigned long *zone_size,
 static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
 {
        /* clear our parent irq */
-       GEDR(cmx2xx_it8152_irq_gpio) = GPIO_bit(cmx2xx_it8152_irq_gpio);
+       desc->chip->ack(irq);
 
        it8152_irq_demux(irq, desc);
 }
index 1373c22dbb8304eba48ca95a18e28b6ebaf4a2e4..c87abc3334cbfc6dbf5250bfe62c5eaa2b29c6a4 100644 (file)
@@ -121,7 +121,7 @@ static void lpd270_irq_handler(unsigned int irq, struct irq_desc *desc)
 
        pending = __raw_readw(LPD270_INT_STATUS) & lpd270_irq_enabled;
        do {
-               GEDR(0) = GPIO_bit(0);  /* clear useless edge notification */
+               desc->chip->ack(irq);   /* clear useless edge notification */
                if (likely(pending)) {
                        irq = LPD270_IRQ(0) + __ffs(pending);
                        generic_handle_irq(irq);
index 98ee7e590299adf930086c63f3142a06b40200f7..d9982b16f8c01574ddca15c0613278ea48d791fe 100644 (file)
@@ -158,7 +158,7 @@ static void lubbock_irq_handler(unsigned int irq, struct irq_desc *desc)
 {
        unsigned long pending = LUB_IRQ_SET_CLR & lubbock_irq_enabled;
        do {
-               GEDR(0) = GPIO_bit(0);  /* clear our parent irq */
+               desc->chip->ack(irq);   /* clear our parent irq */
                if (likely(pending)) {
                        irq = LUBBOCK_IRQ(0) + __ffs(pending);
                        generic_handle_irq(irq);
index 851ee0fc32e2faed3b93b26aacb9af8298d39a66..a8674aacd3478e5dac1fce69f38dcb2b18dc8566 100644 (file)
@@ -162,7 +162,7 @@ static void mainstone_irq_handler(unsigned int irq, struct irq_desc *desc)
 {
        unsigned long pending = MST_INTSETCLR & mainstone_irq_enabled;
        do {
-               GEDR(0) = GPIO_bit(0);  /* clear useless edge notification */
+               desc->chip->ack(irq);   /* clear useless edge notification */
                if (likely(pending)) {
                        irq = MAINSTONE_IRQ(0) + __ffs(pending);
                        generic_handle_irq(irq);
index d5255ae74fe37218d7c548e65e6aa9c2706e9a39..e74bdfc2551df893a49e54065eaecb60df0ce1de 100644 (file)
@@ -259,8 +259,7 @@ static void pcm990_irq_handler(unsigned int irq, struct irq_desc *desc)
        unsigned long pending = (~PCM990_INTSETCLR) & pcm990_irq_enabled;
 
        do {
-               GEDR(PCM990_CTRL_INT_IRQ_GPIO) =
-                                       GPIO_bit(PCM990_CTRL_INT_IRQ_GPIO);
+               desc->chip->ack(irq);   /* clear our parent IRQ */
                if (likely(pending)) {
                        irq = PCM027_IRQ(0) + __ffs(pending);
                        generic_handle_irq(irq);
index 89f258c9e126acf249f719a39a629946cc8ae024..12d4ed338d037ef170519ab8c47037727b5d0c1d 100644 (file)
@@ -281,7 +281,7 @@ static void viper_irq_handler(unsigned int irq, struct irq_desc *desc)
        do {
                /* we're in a chained irq handler,
                 * so ack the interrupt by hand */
-               GEDR(VIPER_CPLD_GPIO) = GPIO_bit(VIPER_CPLD_GPIO);
+               desc->chip->ack(irq);
 
                if (likely(pending)) {
                        irq = viper_bit_to_irq(__ffs(pending));