[adm5120] revert [9788], the ADM5120 datasheet v1.16 contains bad values
[openwrt.git] / target / linux / adm5120 / files / arch / mips / adm5120 / irq.c
index ef7b9b9..a7a5455 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 */
This page took 0.023432 seconds and 4 git commands to generate.