revert [9788], the ADM5120 datasheet v1.16 contains bad values
authorGabor Juhos <juhosg@openwrt.org>
Mon, 17 Dec 2007 16:39:53 +0000 (16:39 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Mon, 17 Dec 2007 16:39:53 +0000 (16:39 +0000)
SVN-Revision: 9790

target/linux/adm5120/files/arch/mips/adm5120/irq.c

index ef7b9b92e3f552e4cf3297aca83e1f048b3d1732..a7a5455dca367c3ad9be637b1909fb7cd28fd3d7 100644 (file)
@@ -75,8 +75,6 @@ static void adm5120_intc_irq_mask(unsigned int irq)
 
 static int adm5120_intc_irq_set_type(unsigned int irq, unsigned int flow_type)
 {
-       /* TODO: not yet tested */
-
        unsigned int sense;
        unsigned long mode;
        int err = 0;
@@ -109,9 +107,9 @@ static int adm5120_intc_irq_set_type(unsigned int irq, unsigned int flow_type)
        case ADM5120_IRQ_GPIO4:
                mode = INTC_READ(INTC_REG_INT_MODE);
                if (sense == IRQ_TYPE_LEVEL_LOW)
-                       mode |= (1 << (3 + irq - ADM5120_IRQ_GPIO2));
+                       mode |= (1 << (irq - ADM5120_INTC_IRQ_BASE));
                else
-                       mode &= (1 << (3 + irq - ADM5120_IRQ_GPIO2));
+                       mode &= ~(1 << (irq - ADM5120_INTC_IRQ_BASE));
 
                INTC_WRITE(INTC_REG_INT_MODE, mode);
                /* fallthrough */