power: supply: ab8500: Make recharge capacity a constant
authorLinus Walleij <linus.walleij@linaro.org>
Sat, 20 Nov 2021 15:53:22 +0000 (16:53 +0100)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Mon, 22 Nov 2021 16:16:25 +0000 (17:16 +0100)
The recharge capacity is the hysteresis level for a charger to
restart when a battery does not support maintenance charging.

All products using the AB8500 have batteries supporting
maintenace charging and all code has always set this to 95%.

Turn it into a constant.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/ab8500-bm.h
drivers/power/supply/ab8500_bmdata.c
drivers/power/supply/ab8500_chargalg.c

index 4bc932109f6399009ec799044997493776dd8e90..58e4cb9010763fbdcd158cb8d3e92df49240d375 100644 (file)
@@ -374,9 +374,6 @@ struct ab8500_maxim_parameters {
  * struct ab8500_battery_type - different batteries supported
  * @resis_high:                        battery upper resistance limit
  * @resis_low:                 battery lower resistance limit
- * @recharge_cap               battery capacity limit that will trigger a new
- *                             full charging cycle in the case where maintenan-
- *                             -ce charging has been disabled
  * @normal_cur_lvl:            charger current in normal state in mA
  * @normal_vol_lvl:            charger voltage in normal state in mV
  * @maint_a_cur_lvl:           charger current in maintenance A state in mA
@@ -397,7 +394,6 @@ struct ab8500_maxim_parameters {
 struct ab8500_battery_type {
        int resis_high;
        int resis_low;
-       int recharge_cap;
        int normal_cur_lvl;
        int normal_vol_lvl;
        int maint_a_cur_lvl;
index cd1fc288314eb4927fa774a81aa3862d9b996ce6..78182a396de7e2f6bfa345f57967a304be93be3a 100644 (file)
@@ -83,7 +83,6 @@ static const struct batres_vs_temp temp_to_batres_tbl_thermistor[] = {
 static struct ab8500_battery_type bat_type_thermistor_unknown = {
        .resis_high = 0,
        .resis_low = 0,
-       .recharge_cap = 95,
        .normal_cur_lvl = 400,
        .normal_vol_lvl = 4100,
        .maint_a_cur_lvl = 400,
index 49e7167d03623a292c4a55daed399f0e2c5547d9..90974a8887cd192cabe342cc9f70701e511048f1 100644 (file)
 #define CHARGALG_CURR_STEP_LOW         0
 #define CHARGALG_CURR_STEP_HIGH        100
 
+/*
+ * This is the battery capacity limit that will trigger a new
+ * full charging cycle in the case where maintenance charging
+ * has been disabled
+ */
+#define AB8500_RECHARGE_CAP            95
+
 enum ab8500_chargers {
        NO_CHG,
        AC_CHG,
@@ -1544,8 +1551,7 @@ static void ab8500_chargalg_algorithm(struct ab8500_chargalg *di)
                fallthrough;
 
        case STATE_WAIT_FOR_RECHARGE:
-               if (di->batt_data.percent <=
-                   di->bm->bat_type->recharge_cap)
+               if (di->batt_data.percent <= AB8500_RECHARGE_CAP)
                        ab8500_chargalg_state_to(di, STATE_NORMAL_INIT);
                break;