power: supply: ltc2941: simplify Qlsb calculation
authorMichał Mirosław <mirq-linux@rere.qmqm.pl>
Tue, 11 Jan 2022 02:32:40 +0000 (03:32 +0100)
committerSebastian Reichel <sre@kernel.org>
Sun, 13 Feb 2022 21:21:42 +0000 (22:21 +0100)
Replace two divisions with a subtraction+shift for a small code size
improvement and less brackets.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/ltc2941-battery-gauge.c

index 09f3e78af4e01fe2bdf9e2d828a7c01659e87b19..c0cbf4cd59ee05bd78f8d1c0857376c18840476d 100644 (file)
@@ -490,13 +490,13 @@ static int ltc294x_i2c_probe(struct i2c_client *client,
        if (info->id == LTC2943_ID) {
                if (prescaler_exp > LTC2943_MAX_PRESCALER_EXP)
                        prescaler_exp = LTC2943_MAX_PRESCALER_EXP;
-               info->Qlsb = ((340 * 50000) / r_sense) /
-                               (4096 / (1 << (2*prescaler_exp)));
+               info->Qlsb = ((340 * 50000) / r_sense) >>
+                            (12 - 2*prescaler_exp);
        } else {
                if (prescaler_exp > LTC2941_MAX_PRESCALER_EXP)
                        prescaler_exp = LTC2941_MAX_PRESCALER_EXP;
-               info->Qlsb = ((85 * 50000) / r_sense) /
-                               (128 / (1 << prescaler_exp));
+               info->Qlsb = ((85 * 50000) / r_sense) >>
+                            (7 - prescaler_exp);
        }
 
        /* Read status register to check for LTC2942 */