diff options
author | Sergei Shtylyov <sshtylyov@ru.mvista.com> | 2007-12-05 17:08:24 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-12-06 18:15:58 +0100 |
commit | 4b36673284f86c649b9d9ec5818b1912fde556b3 (patch) | |
tree | b8f4a90a85babb175b74091efae5c33beef94b75 /arch/mips | |
parent | [MIPS] BCM1480: Fix interrupt routing, take 2. (diff) | |
download | linux-4b36673284f86c649b9d9ec5818b1912fde556b3.tar.xz linux-4b36673284f86c649b9d9ec5818b1912fde556b3.zip |
[MIPS] Alchemy: replace ffs() with __ffs()
Fix havoc wrought by commit 56f621c7f6f735311eed3f36858b402013023c18 --
au_ffs() and ffs() are equivalent, that patch should have just replaced one
with another. Now replace ffs() with __ffs() which returns an unbiased bit
number.
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-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 9d6ad43fded6..edf91f41a786 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 = ffs(intstat); + 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 ddfb7f0a17a6..b7f1bbf6d5aa 100644 --- a/arch/mips/au1000/common/irq.c +++ b/arch/mips/au1000/common/irq.c @@ -462,7 +462,7 @@ static void intc0_req0_irqdispatch(void) return; } #endif - bit = ffs(intc0_req0); + bit = __ffs(intc0_req0); intc0_req0 &= ~(1 << bit); do_IRQ(MIPS_CPU_IRQ_BASE + bit); } @@ -478,7 +478,7 @@ static void intc0_req1_irqdispatch(void) if (!intc0_req1) return; - bit = ffs(intc0_req1); + bit = __ffs(intc0_req1); intc0_req1 &= ~(1 << bit); do_IRQ(bit); } @@ -498,7 +498,7 @@ static void intc1_req0_irqdispatch(void) if (!intc1_req0) return; - bit = ffs(intc1_req0); + bit = __ffs(intc1_req0); intc1_req0 &= ~(1 << bit); do_IRQ(MIPS_CPU_IRQ_BASE + 32 + bit); } @@ -514,7 +514,7 @@ static void intc1_req1_irqdispatch(void) if (!intc1_req1) return; - bit = ffs(intc1_req1); + bit = __ffs(intc1_req1); intc1_req1 &= ~(1 << bit); do_IRQ(MIPS_CPU_IRQ_BASE + 32 + bit); } diff --git a/arch/mips/au1000/pb1200/irqmap.c b/arch/mips/au1000/pb1200/irqmap.c index c096be4ed4e7..8fcd0df86f93 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 + ffs(bisr); + extirq_nr = PB1200_INT_BEGIN + __ffs(bisr); /* Ack and dispatch IRQ */ do_IRQ(extirq_nr); } |