It was plain a bad idea ...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
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;
return;
}
#endif
- irq = au_ffs(intc0_req0) - 1;
+ irq = ffs(intc0_req0);
intc0_req0 &= ~(1 << irq);
do_IRQ(irq);
}
if (!intc0_req1)
return;
- irq = au_ffs(intc0_req1) - 1;
+ irq = ffs(intc0_req1);
intc0_req1 &= ~(1 << irq);
do_IRQ(irq);
}
if (!intc1_req0)
return;
- irq = au_ffs(intc1_req0) - 1;
+ irq = ffs(intc1_req0);
intc1_req0 &= ~(1 << irq);
irq += 32;
do_IRQ(irq);
if (!intc1_req1)
return;
- irq = au_ffs(intc1_req1) - 1;
+ irq = ffs(intc1_req1);
intc1_req1 &= ~(1 << irq);
irq += 32;
do_IRQ(irq);
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);
}
return __ilog2(x & -x);
}
-/*
- * ffs: find first bit set. This is defined the same way as
- * the libc and compiler builtin ffs routines, therefore
- * differs in spirit from the above ffz (man ffs).
- */
-static __inline__ int au_ffs(int x)
-{
- return __ilog2(x & -x) + 1;
-}
-
/* arch/mips/au1000/common/clocks.c */
extern void set_au1x00_speed(unsigned int new_freq);
extern unsigned int get_au1x00_speed(void);