summaryrefslogtreecommitdiffstats
path: root/arch/mips/au1000
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2007-10-15 02:00:06 +0200
committerRalf Baechle <ralf@linux-mips.org>2007-10-16 19:23:48 +0200
commit56f621c7f6f735311eed3f36858b402013023c18 (patch)
tree0aea37bf1b830f029ebca99d2608deec33b7516c /arch/mips/au1000
parent[MIPS] Alchemy: cleanup interrupt code. (diff)
downloadlinux-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.c2
-rw-r--r--arch/mips/au1000/common/irq.c8
-rw-r--r--arch/mips/au1000/pb1200/irqmap.c2
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);
}