mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-08 22:14:09 +07:00
staging: comedi: drivers: Use DIV_ROUND_CLOSEST
The kernel.h macro DIV_ROUND_CLOSEST performs the computation `(x +d/2)/d` but is perhaps more readable. The Coccinelle script used is as follows: // <smpl> @@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b7c57dd54a
commit
2ead7b32aa
@ -496,7 +496,7 @@ static int apci3xxx_ai_ns_to_timer(struct comedi_device *dev,
|
||||
switch (flags & CMDF_ROUND_MASK) {
|
||||
case CMDF_ROUND_NEAREST:
|
||||
default:
|
||||
timer = (*ns + base / 2) / base;
|
||||
timer = DIV_ROUND_CLOSEST(*ns, base);
|
||||
break;
|
||||
case CMDF_ROUND_DOWN:
|
||||
timer = *ns / base;
|
||||
|
@ -637,7 +637,7 @@ static unsigned int pci230_divide_ns(uint64_t ns, unsigned int timebase,
|
||||
switch (flags & CMDF_ROUND_MASK) {
|
||||
default:
|
||||
case CMDF_ROUND_NEAREST:
|
||||
div += (rem + (timebase / 2)) / timebase;
|
||||
div += DIV_ROUND_CLOSEST(rem, timebase);
|
||||
break;
|
||||
case CMDF_ROUND_DOWN:
|
||||
break;
|
||||
|
@ -1376,7 +1376,7 @@ static int set_ai_fifo_segment_length(struct comedi_device *dev,
|
||||
num_entries = fifo->max_segment_length;
|
||||
|
||||
/* 1 == 256 entries, 2 == 512 entries, etc */
|
||||
num_increments = (num_entries + increment_size / 2) / increment_size;
|
||||
num_increments = DIV_ROUND_CLOSEST(num_entries, increment_size);
|
||||
|
||||
bits = (~(num_increments - 1)) & fifo->fifo_size_reg_mask;
|
||||
devpriv->fifo_size_bits &= ~fifo->fifo_size_reg_mask;
|
||||
@ -2004,7 +2004,7 @@ static unsigned int get_divisor(unsigned int ns, unsigned int flags)
|
||||
break;
|
||||
case CMDF_ROUND_NEAREST:
|
||||
default:
|
||||
divisor = (ns + TIMER_BASE / 2) / TIMER_BASE;
|
||||
divisor = DIV_ROUND_CLOSEST(ns, TIMER_BASE);
|
||||
break;
|
||||
}
|
||||
return divisor;
|
||||
|
@ -371,7 +371,7 @@ static unsigned int dt282x_ns_to_timer(unsigned int *ns, unsigned int flags)
|
||||
switch (flags & CMDF_ROUND_MASK) {
|
||||
case CMDF_ROUND_NEAREST:
|
||||
default:
|
||||
divider = (*ns + base / 2) / base;
|
||||
divider = DIV_ROUND_CLOSEST(*ns, base);
|
||||
break;
|
||||
case CMDF_ROUND_DOWN:
|
||||
divider = (*ns) / base;
|
||||
|
@ -361,7 +361,7 @@ static int dt3k_ns_to_timer(unsigned int timer_base, unsigned int *nanosec,
|
||||
switch (flags & CMDF_ROUND_MASK) {
|
||||
case CMDF_ROUND_NEAREST:
|
||||
default:
|
||||
divider = (*nanosec + base / 2) / base;
|
||||
divider = DIV_ROUND_CLOSEST(*nanosec, base);
|
||||
break;
|
||||
case CMDF_ROUND_DOWN:
|
||||
divider = (*nanosec) / base;
|
||||
|
@ -525,7 +525,7 @@ static int ni_pcidio_ns_to_timer(int *nanosec, unsigned int flags)
|
||||
switch (flags & CMDF_ROUND_MASK) {
|
||||
case CMDF_ROUND_NEAREST:
|
||||
default:
|
||||
divider = (*nanosec + base / 2) / base;
|
||||
divider = DIV_ROUND_CLOSEST(*nanosec, base);
|
||||
break;
|
||||
case CMDF_ROUND_DOWN:
|
||||
divider = (*nanosec) / base;
|
||||
|
Loading…
Reference in New Issue
Block a user