]> git.karo-electronics.de Git - linux-beck.git/blobdiff - drivers/thermal/power_allocator.c
thermal: power_allocator: round the division when divvying up power
[linux-beck.git] / drivers / thermal / power_allocator.c
index 3ca7530deac622e535f1519df056f843a97f5c2a..4672250b329f4cec54ab243b55b41b127b1c48d0 100644 (file)
@@ -196,7 +196,8 @@ static void divvy_up_power(u32 *req_power, u32 *max_power, int num_actors,
        for (i = 0; i < num_actors; i++) {
                u64 req_range = req_power[i] * power_range;
 
-               granted_power[i] = div_u64(req_range, total_req_power);
+               granted_power[i] = DIV_ROUND_CLOSEST_ULL(req_range,
+                                                        total_req_power);
 
                if (granted_power[i] > max_power[i]) {
                        extra_power += granted_power[i] - max_power[i];