ALSA: sonicvibes: Use DIV_ROUND_CLOSEST() instead of open-coding it
authorLars-Peter Clausen <lars@metafoo.de>
Wed, 23 Dec 2020 17:22:25 +0000 (18:22 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 25 Dec 2020 08:11:55 +0000 (09:11 +0100)
Use DIV_ROUND_CLOSEST() instead of open-coding it. This documents intent
and makes it more clear what is going on for the casual reviewer.

Generated using the following the Coccinelle semantic patch.

// <smpl>
@@
expression x, y;
@@
-((x) + ((y) / 2)) / (y)
+DIV_ROUND_CLOSEST(x, y)
// </smpl>

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20201223172229.781-14-lars@metafoo.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/sonicvibes.c

index ecdd54d..bd805e4 100644 (file)
@@ -570,7 +570,7 @@ static void snd_sonicvibes_set_dac_rate(struct sonicvibes * sonic, unsigned int
        unsigned int div;
        unsigned long flags;
 
-       div = (rate * 65536 + SV_FULLRATE / 2) / SV_FULLRATE;
+       div = DIV_ROUND_CLOSEST(rate * 65536, SV_FULLRATE);
        if (div > 65535)
                div = 65535;
        spin_lock_irqsave(&sonic->reg_lock, flags);