[ARM] 3192/1: Remove gpio_isr_line_clear() API from IXP4xx
authorDeepak Saxena <dsaxena@plexity.net>
Wed, 4 Jan 2006 17:17:10 +0000 (17:17 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 4 Jan 2006 17:17:10 +0000 (17:17 +0000)
Patch from Deepak Saxena

Other than interrupt masking purposes, this API is only used when
configuring interrupt lines and this patch moves that functionality
directly into the ixp4xx_set_irq_type() implementation as board level
PCI code should not need to worry about those details.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-ixp4xx/common.c
arch/arm/mach-ixp4xx/coyote-pci.c
arch/arm/mach-ixp4xx/ixdp425-pci.c
arch/arm/mach-ixp4xx/ixdpg425-pci.c
arch/arm/mach-ixp4xx/nslu2-pci.c
arch/arm/mach-ixp4xx/nslu2-power.c
include/asm-arm/arch-ixp4xx/platform.h

index f3c687cf00713dcbcaf20eb4689aac5f05818b98..9f33cb21e7f38d98adb33f4f0fe5c7d315281dcb 100644 (file)
@@ -142,6 +142,8 @@ static int ixp4xx_set_irq_type(unsigned int irq, unsigned int type)
        *int_reg &= ~(IXP4XX_GPIO_STYLE_CLEAR <<
                        (line * IXP4XX_GPIO_STYLE_SIZE));
 
+       *IXP4XX_GPIO_GPISR = (1 << line);
+
        /* Set the new style */
        *int_reg |= (int_style << (line * IXP4XX_GPIO_STYLE_SIZE));
 
@@ -169,7 +171,7 @@ static void ixp4xx_irq_ack(unsigned int irq)
        int line = (irq < 32) ? irq2gpio[irq] : -1;
 
        if (line >= 0)
-               gpio_line_isr_clear(line);
+               *IXP4XX_GPIO_GPISR = (1 << line);
 }
 
 /*
index 60de8a94cff5f828cf93840d0d80cff53cc395da..e6b7fcd923faaf46fdb9a02887acf0566e21eb79 100644 (file)
@@ -33,9 +33,6 @@ void __init coyote_pci_preinit(void)
        set_irq_type(IRQ_COYOTE_PCI_SLOT0, IRQT_LOW);
        set_irq_type(IRQ_COYOTE_PCI_SLOT1, IRQT_LOW);
 
-       gpio_line_isr_clear(COYOTE_PCI_SLOT0_PIN);
-       gpio_line_isr_clear(COYOTE_PCI_SLOT1_PIN);
-
        ixp4xx_pci_preinit();
 }
 
index f9a1d3e7d6922d30c6226690d06162facec746b2..da415d5d7f3719a9d70f688080db570011e55518 100644 (file)
@@ -32,11 +32,6 @@ void __init ixdp425_pci_preinit(void)
        set_irq_type(IRQ_IXDP425_PCI_INTC, IRQT_LOW);
        set_irq_type(IRQ_IXDP425_PCI_INTD, IRQT_LOW);
 
-       gpio_line_isr_clear(IXDP425_PCI_INTA_PIN);
-       gpio_line_isr_clear(IXDP425_PCI_INTB_PIN);
-       gpio_line_isr_clear(IXDP425_PCI_INTC_PIN);
-       gpio_line_isr_clear(IXDP425_PCI_INTD_PIN);
-
        ixp4xx_pci_preinit();
 }
 
index fe5e7660de1d5e855594b45a6fdaf7cd4c152655..526fb6175bc312538ec835d52ab254949d595167 100644 (file)
@@ -32,9 +32,6 @@ void __init ixdpg425_pci_preinit(void)
        set_irq_type(IRQ_IXP4XX_GPIO6, IRQT_LOW);
        set_irq_type(IRQ_IXP4XX_GPIO7, IRQT_LOW);
 
-       gpio_line_isr_clear(6);
-       gpio_line_isr_clear(7);
-
        ixp4xx_pci_preinit();
 }
 
index a575f2e0b2c874f59b155d0d27232b47cf2498f0..ece860444d5b91ef57fb68f0f20ddf6791f103e4 100644 (file)
@@ -28,14 +28,6 @@ void __init nslu2_pci_preinit(void)
        set_irq_type(IRQ_NSLU2_PCI_INTB, IRQT_LOW);
        set_irq_type(IRQ_NSLU2_PCI_INTC, IRQT_LOW);
 
-       gpio_line_isr_clear(NSLU2_PCI_INTA_PIN);
-       gpio_line_isr_clear(NSLU2_PCI_INTB_PIN);
-       gpio_line_isr_clear(NSLU2_PCI_INTC_PIN);
-
-       /* INTD is not configured as GPIO is used
-        * for the power input button.
-        */
-
        ixp4xx_pci_preinit();
 }
 
index 18fbc8c0fb306f0404bca9ba500ea2c146b12295..b0ad9e901f6eb924b82164340b679332b47ff616 100644 (file)
@@ -54,9 +54,6 @@ static int __init nslu2_power_init(void)
        set_irq_type(NSLU2_RB_IRQ, IRQT_LOW);
        set_irq_type(NSLU2_PB_IRQ, IRQT_HIGH);
 
-       gpio_line_isr_clear(NSLU2_RB_GPIO);
-       gpio_line_isr_clear(NSLU2_PB_GPIO);
-
        if (request_irq(NSLU2_RB_IRQ, &nslu2_reset_handler,
                SA_INTERRUPT, "NSLU2 reset button", NULL) < 0) {
 
index f14ed63590c36cd80980fab6c9cf8eaeb08e1cf1..6b77ed26be7964296b19aeef5c49fa590c4de3c5 100644 (file)
@@ -112,10 +112,5 @@ static inline void gpio_line_set(u8 line, int value)
            *IXP4XX_GPIO_GPOUTR &= ~(1 << line);
 }
 
-static inline void gpio_line_isr_clear(u8 line)
-{
-       *IXP4XX_GPIO_GPISR = (1 << line);
-}
-
 #endif // __ASSEMBLY__