|
|
@@ -342,9 +342,9 @@ static irqreturn_t dt3k_interrupt(int irq, void *d)
|
|
|
static int dt3k_ns_to_timer(unsigned int timer_base, unsigned int *nanosec,
|
|
|
unsigned int flags)
|
|
|
{
|
|
|
- int divider, base, prescale;
|
|
|
+ unsigned int divider, base, prescale;
|
|
|
|
|
|
- /* This function needs improvment */
|
|
|
+ /* This function needs improvement */
|
|
|
/* Don't know if divider==0 works. */
|
|
|
|
|
|
for (prescale = 0; prescale < 16; prescale++) {
|
|
|
@@ -358,7 +358,7 @@ static int dt3k_ns_to_timer(unsigned int timer_base, unsigned int *nanosec,
|
|
|
divider = (*nanosec) / base;
|
|
|
break;
|
|
|
case CMDF_ROUND_UP:
|
|
|
- divider = (*nanosec) / base;
|
|
|
+ divider = DIV_ROUND_UP(*nanosec, base);
|
|
|
break;
|
|
|
}
|
|
|
if (divider < 65536) {
|