staging: comedi: mite: use ilog2()
The static inline functions `MITE_IODWBSR_1_WSIZE_bits()` and `CR_RL()` in "mite.h" work out a base-2 logarithm using a `while` loop. Change them to use `ilog2()`. Also change `CR_RL()` to clamp the maximum value instead of printing an error. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
7d24e1ac00
commit
d6f015b6ad
1 changed files with 7 additions and 7 deletions
|
@ -25,6 +25,7 @@
|
|||
#define _MITE_H_
|
||||
|
||||
#include <linux/pci.h>
|
||||
#include <linux/log2.h>
|
||||
#include "../comedidev.h"
|
||||
|
||||
/* #define DEBUG_MITE */
|
||||
|
@ -245,8 +246,9 @@ enum MITE_IODWBSR_bits {
|
|||
static inline unsigned MITE_IODWBSR_1_WSIZE_bits(unsigned size)
|
||||
{
|
||||
unsigned order = 0;
|
||||
while (size >>= 1)
|
||||
++order;
|
||||
|
||||
BUG_ON(size == 0);
|
||||
order = ilog2(size);
|
||||
BUG_ON(order < 1);
|
||||
return (order - 1) & 0x1f;
|
||||
}
|
||||
|
@ -393,12 +395,10 @@ static inline int CR_RL(unsigned int retry_limit)
|
|||
{
|
||||
int value = 0;
|
||||
|
||||
while (retry_limit) {
|
||||
retry_limit >>= 1;
|
||||
value++;
|
||||
}
|
||||
if (retry_limit)
|
||||
value = 1 + ilog2(retry_limit);
|
||||
if (value > 0x7)
|
||||
printk("comedi: bug! retry_limit too large\n");
|
||||
value = 0x7;
|
||||
return (value & 0x7) << 21;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue