power: pm8921-bms: Fix variable naming
The max_fcc_learning_cycles variable actually indicates
the minimum number of FCC cycles required to update a new FCC,
name it accordingly.
Change-Id: I510d3a05eed736a9ee560c936faa20ed2d3c5bd1
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Signed-off-by: Sridhar Gujje <sgujje@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-8064-pmic.c b/arch/arm/mach-msm/board-8064-pmic.c
index fba4258..34382fd 100644
--- a/arch/arm/mach-msm/board-8064-pmic.c
+++ b/arch/arm/mach-msm/board-8064-pmic.c
@@ -455,7 +455,7 @@
.enable_fcc_learning = 1,
.min_fcc_learning_soc = 20,
.min_fcc_ocv_pc = 30,
- .max_fcc_learning_samples = 5,
+ .min_fcc_learning_samples = 5,
};
static struct pm8921_platform_data
diff --git a/arch/arm/mach-msm/board-8930-pmic.c b/arch/arm/mach-msm/board-8930-pmic.c
index 2f3b6a9..ae65e86 100644
--- a/arch/arm/mach-msm/board-8930-pmic.c
+++ b/arch/arm/mach-msm/board-8930-pmic.c
@@ -490,7 +490,7 @@
.enable_fcc_learning = 1,
.min_fcc_learning_soc = 20,
.min_fcc_ocv_pc = 30,
- .max_fcc_learning_samples = 5,
+ .min_fcc_learning_samples = 5,
};
static struct pm8038_platform_data pm8038_platform_data __devinitdata = {
diff --git a/arch/arm/mach-msm/board-8960-pmic.c b/arch/arm/mach-msm/board-8960-pmic.c
index 8e758bf..7a5c74c 100644
--- a/arch/arm/mach-msm/board-8960-pmic.c
+++ b/arch/arm/mach-msm/board-8960-pmic.c
@@ -441,7 +441,7 @@
.enable_fcc_learning = 1,
.min_fcc_learning_soc = 20,
.min_fcc_ocv_pc = 30,
- .max_fcc_learning_samples = 5,
+ .min_fcc_learning_samples = 5,
};
#define PM8921_LC_LED_MAX_CURRENT 4 /* I = 4mA */
diff --git a/drivers/power/pm8921-bms.c b/drivers/power/pm8921-bms.c
index 66da98b..f9e5d54 100644
--- a/drivers/power/pm8921-bms.c
+++ b/drivers/power/pm8921-bms.c
@@ -156,7 +156,7 @@
int enable_fcc_learning;
int min_fcc_learning_soc;
int min_fcc_ocv_pc;
- int max_fcc_learning_samples;
+ int min_fcc_learning_samples;
struct fcc_data *fcc_table;
int fcc_new;
int start_real_soc;
@@ -223,7 +223,7 @@
static int last_chargecycles = DEFAULT_CHARGE_CYCLES;
static int last_charge_increase;
static int last_fcc_update_count;
-static int max_fcc_cycles = -EINVAL;
+static int min_fcc_cycles = -EINVAL;
module_param(last_chargecycles, int, 0644);
module_param(last_charge_increase, int, 0644);
module_param(last_fcc_update_count, int, 0644);
@@ -253,8 +253,7 @@
/* Make last_soc as read only as it is already calculated from shutdown_soc */
module_param_cb(last_soc, &bms_param_ops, &last_soc, 0644);
module_param_cb(battery_removed, &bms_param_ops, &battery_removed, 0644);
-module_param_cb(max_fcc_cycles, &bms_param_ops,
- &max_fcc_cycles, 0644);
+module_param_cb(min_fcc_cycles, &bms_param_ops, &min_fcc_cycles, 0644);
/*
* bms_fake_battery is set in setups where a battery emulator is used instead
@@ -2790,7 +2789,7 @@
static void invalidate_fcc(struct pm8921_bms_chip *chip)
{
- memset(chip->fcc_table, 0, chip->max_fcc_learning_samples *
+ memset(chip->fcc_table, 0, chip->min_fcc_learning_samples *
sizeof(*(chip->fcc_table)));
last_fcc_update_count = 0;
chip->adjusted_fcc_temp_lut = NULL;
@@ -2807,7 +2806,7 @@
struct fcc_data *ft;
/* Interpolate all the FCC entries to the same temperature */
- for (i = 0; i < chip->max_fcc_learning_samples; i++) {
+ for (i = 0; i < chip->min_fcc_learning_samples; i++) {
ft = &chip->fcc_table[i];
if (ft->batt_temp == batt_temp_final)
continue;
@@ -2825,7 +2824,7 @@
int i, temp_fcc_avg = 0, new_fcc_avg = 0, temp_fcc_delta = 0, count;
struct fcc_data *ft;
- count = last_fcc_update_count % chip->max_fcc_learning_samples;
+ count = last_fcc_update_count % chip->min_fcc_learning_samples;
ft = &chip->fcc_table[count];
ft->fcc_new = ft->fcc_real = new_fcc_uah;
ft->batt_temp = ft->temp_real = batt_temp;
@@ -2838,14 +2837,14 @@
pr_debug("Updated fcc table. new_fcc=%d, chargecycle=%d, temp=%d fcc_update_count=%d\n",
new_fcc_uah, chargecycles, batt_temp, last_fcc_update_count);
- if (last_fcc_update_count < chip->max_fcc_learning_samples) {
+ if (last_fcc_update_count < chip->min_fcc_learning_samples) {
pr_debug("Not enough FCC samples. Current count = %d\n",
last_fcc_update_count);
return; /* Not enough samples to update fcc */
}
/* reject entries if they are > 50 chargecycles apart */
- for (i = 0; i < chip->max_fcc_learning_samples; i++) {
+ for (i = 0; i < chip->min_fcc_learning_samples; i++) {
if ((chip->fcc_table[i].chargecycles + VALID_FCC_CHGCYL_RANGE)
< chargecycles) {
pr_debug("Charge cycle too old (> %d cycles apart)\n",
@@ -2857,20 +2856,20 @@
update_fcc_table_for_temp(chip, batt_temp);
/* Calculate the avg. and SD for all the fcc entries */
- for (i = 0; i < chip->max_fcc_learning_samples; i++)
+ for (i = 0; i < chip->min_fcc_learning_samples; i++)
temp_fcc_avg += chip->fcc_table[i].fcc_new;
- temp_fcc_avg /= chip->max_fcc_learning_samples;
+ temp_fcc_avg /= chip->min_fcc_learning_samples;
temp_fcc_delta = div_u64(temp_fcc_avg * DELTA_FCC_PERCENT, 100);
/* fix the fcc if its an outlier i.e. > 5% of the average */
- for (i = 0; i < chip->max_fcc_learning_samples; i++) {
+ for (i = 0; i < chip->min_fcc_learning_samples; i++) {
ft = &chip->fcc_table[i];
if (abs(ft->fcc_new - temp_fcc_avg) > temp_fcc_delta)
ft->fcc_new = temp_fcc_avg;
new_fcc_avg += ft->fcc_new;
}
- new_fcc_avg /= chip->max_fcc_learning_samples;
+ new_fcc_avg /= chip->min_fcc_learning_samples;
last_real_fcc_mah = new_fcc_avg/1000;
last_real_fcc_batt_temp = batt_temp;
@@ -3496,7 +3495,7 @@
return count;
}
- i %= chip->max_fcc_learning_samples;
+ i %= chip->min_fcc_learning_samples;
rc = sscanf(buf, "%d", &fcc_new);
if (rc != 1)
return -EINVAL;
@@ -3535,7 +3534,7 @@
int batt_temp = 0, rc;
struct pm8921_bms_chip *chip = dev_get_drvdata(dev);
- i %= chip->max_fcc_learning_samples;
+ i %= chip->min_fcc_learning_samples;
rc = sscanf(buf, "%d", &batt_temp);
if (rc != 1)
return -EINVAL;
@@ -3554,7 +3553,7 @@
int chargecycle = 0, rc;
struct pm8921_bms_chip *chip = dev_get_drvdata(dev);
- i %= chip->max_fcc_learning_samples;
+ i %= chip->min_fcc_learning_samples;
rc = sscanf(buf, "%d", &chargecycle);
if (rc != 1)
return -EINVAL;
@@ -3572,10 +3571,10 @@
struct fcc_data *ft;
int i = 0, j, count = 0;
- if (last_fcc_update_count < chip->max_fcc_learning_samples)
+ if (last_fcc_update_count < chip->min_fcc_learning_samples)
i = last_fcc_update_count;
else
- i = chip->max_fcc_learning_samples;
+ i = chip->min_fcc_learning_samples;
for (j = 0; j < i; j++) {
ft = &chip->fcc_table[j];
@@ -3733,7 +3732,7 @@
chip->enable_fcc_learning = pdata->enable_fcc_learning;
chip->min_fcc_learning_soc = pdata->min_fcc_learning_soc;
chip->min_fcc_ocv_pc = pdata->min_fcc_ocv_pc;
- chip->max_fcc_learning_samples = pdata->max_fcc_learning_samples;
+ chip->min_fcc_learning_samples = pdata->min_fcc_learning_samples;
if (chip->enable_fcc_learning) {
if (!chip->min_fcc_learning_soc)
chip->min_fcc_learning_soc =
@@ -3741,13 +3740,13 @@
if (!chip->min_fcc_ocv_pc)
chip->min_fcc_ocv_pc =
MIN_START_OCV_PERCENT_FOR_LEARNING;
- if (!chip->max_fcc_learning_samples ||
- chip->max_fcc_learning_samples > MAX_FCC_LEARNING_COUNT)
- chip->max_fcc_learning_samples = MAX_FCC_LEARNING_COUNT;
+ if (!chip->min_fcc_learning_samples ||
+ chip->min_fcc_learning_samples > MAX_FCC_LEARNING_COUNT)
+ chip->min_fcc_learning_samples = MAX_FCC_LEARNING_COUNT;
- max_fcc_cycles = chip->max_fcc_learning_samples;
+ min_fcc_cycles = chip->min_fcc_learning_samples;
chip->fcc_table = kzalloc(sizeof(struct fcc_data) *
- chip->max_fcc_learning_samples, GFP_KERNEL);
+ chip->min_fcc_learning_samples, GFP_KERNEL);
if (!chip->fcc_table) {
pr_err("Unable to allocate table for fcc learning\n");
rc = -ENOMEM;
diff --git a/include/linux/mfd/pm8xxx/pm8921-bms.h b/include/linux/mfd/pm8xxx/pm8921-bms.h
index 7562166..cd70726 100644
--- a/include/linux/mfd/pm8xxx/pm8921-bms.h
+++ b/include/linux/mfd/pm8xxx/pm8921-bms.h
@@ -41,7 +41,7 @@
* learning can start
* @min_fcc_ocv_pc: minimum PC (lookup(OCV)) at which CC counting
* for FCC learning can start
- * @max_fcc_learning_samples: Maximum number of FCC measurement cycles to be
+ * @min_fcc_learning_samples: Minimum number of FCC measurement cycles to be
* used for FCC update
* @normal_voltage_calc_ms: The period of soc calculation in ms when battery
* voltage higher than cutoff voltage
@@ -74,7 +74,7 @@
int enable_fcc_learning;
int min_fcc_learning_soc;
int min_fcc_ocv_pc;
- int max_fcc_learning_samples;
+ int min_fcc_learning_samples;
int shutdown_soc_valid_limit;
int ignore_shutdown_soc;
int adjust_soc_low_threshold;