diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2007-10-15 02:00:06 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-10-16 19:23:48 +0200 |
commit | 56f621c7f6f735311eed3f36858b402013023c18 (patch) | |
tree | 0aea37bf1b830f029ebca99d2608deec33b7516c /arch/mips/au1000 | |
parent | [MIPS] Alchemy: cleanup interrupt code. (diff) | |
download | linux-56f621c7f6f735311eed3f36858b402013023c18.tar.xz linux-56f621c7f6f735311eed3f36858b402013023c18.zip |
[MIPS] Alchemy: Get rid of au_ffs().
It was plain a bad idea ...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/au1000')
-rw-r--r-- | arch/mips/au1000/common/dbdma.c | 2 | ||||
-rw-r--r-- | arch/mips/au1000/common/irq.c | 8 | ||||
-rw-r--r-- | arch/mips/au1000/pb1200/irqmap.c | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/arch/mips/au1000/common/dbdma.c b/arch/mips/au1000/common/dbdma.c index 461cf0139737..9d6ad43fded6 100644 --- a/arch/mips/au1000/common/dbdma.c +++ b/arch/mips/au1000/common/dbdma.c @@ -859,7 +859,7 @@ dbdma_interrupt(int irq, void *dev_id) intstat = dbdma_gptr->ddma_intstat; au_sync(); - chan_index = au_ffs(intstat) - 1; + chan_index = ffs(intstat); ctp = chan_tab_ptr[chan_index]; cp = ctp->chan_ptr; diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c index e86b4303994f..b0ae1ab0ad9e 100644 --- a/arch/mips/au1000/common/irq.c +++ b/arch/mips/au1000/common/irq.c @@ -481,7 +481,7 @@ static void intc0_req0_irqdispatch(void) return; } #endif - irq = au_ffs(intc0_req0) - 1; + irq = ffs(intc0_req0); intc0_req0 &= ~(1 << irq); do_IRQ(irq); } @@ -497,7 +497,7 @@ static void intc0_req1_irqdispatch(void) if (!intc0_req1) return; - irq = au_ffs(intc0_req1) - 1; + irq = ffs(intc0_req1); intc0_req1 &= ~(1 << irq); do_IRQ(irq); } @@ -517,7 +517,7 @@ static void intc1_req0_irqdispatch(void) if (!intc1_req0) return; - irq = au_ffs(intc1_req0) - 1; + irq = ffs(intc1_req0); intc1_req0 &= ~(1 << irq); irq += 32; do_IRQ(irq); @@ -534,7 +534,7 @@ static void intc1_req1_irqdispatch(void) if (!intc1_req1) return; - irq = au_ffs(intc1_req1) - 1; + irq = ffs(intc1_req1); intc1_req1 &= ~(1 << irq); irq += 32; do_IRQ(irq); diff --git a/arch/mips/au1000/pb1200/irqmap.c b/arch/mips/au1000/pb1200/irqmap.c index 7c708db04a88..aa85eedf7c0d 100644 --- a/arch/mips/au1000/pb1200/irqmap.c +++ b/arch/mips/au1000/pb1200/irqmap.c @@ -74,7 +74,7 @@ irqreturn_t pb1200_cascade_handler( int irq, void *dev_id) bcsr->int_status = bisr; for( ; bisr; bisr &= (bisr-1) ) { - extirq_nr = (PB1200_INT_BEGIN-1) + au_ffs(bisr); + extirq_nr = PB1200_INT_BEGIN + au_ffs(bisr); /* Ack and dispatch IRQ */ do_IRQ(extirq_nr); } |