power: supply: Support battery temperature device-tree properties
The generic battery temperature properties are already supported by the power-supply core. Let's support parsing of the common battery temperature properties from a device-tree. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
This commit is contained in:
Родитель
c1f90759b3
Коммит
00cda13e33
|
@ -579,6 +579,12 @@ int power_supply_get_battery_info(struct power_supply *psy,
|
|||
info->charge_term_current_ua = -EINVAL;
|
||||
info->constant_charge_current_max_ua = -EINVAL;
|
||||
info->constant_charge_voltage_max_uv = -EINVAL;
|
||||
info->temp_ambient_alert_min = INT_MIN;
|
||||
info->temp_ambient_alert_max = INT_MAX;
|
||||
info->temp_alert_min = INT_MIN;
|
||||
info->temp_alert_max = INT_MAX;
|
||||
info->temp_min = INT_MIN;
|
||||
info->temp_max = INT_MAX;
|
||||
info->factory_internal_resistance_uohm = -EINVAL;
|
||||
info->resist_table = NULL;
|
||||
|
||||
|
@ -639,6 +645,19 @@ int power_supply_get_battery_info(struct power_supply *psy,
|
|||
of_property_read_u32(battery_np, "factory-internal-resistance-micro-ohms",
|
||||
&info->factory_internal_resistance_uohm);
|
||||
|
||||
of_property_read_u32_index(battery_np, "ambient-celsius",
|
||||
0, &info->temp_ambient_alert_min);
|
||||
of_property_read_u32_index(battery_np, "ambient-celsius",
|
||||
1, &info->temp_ambient_alert_max);
|
||||
of_property_read_u32_index(battery_np, "alert-celsius",
|
||||
0, &info->temp_alert_min);
|
||||
of_property_read_u32_index(battery_np, "alert-celsius",
|
||||
1, &info->temp_alert_max);
|
||||
of_property_read_u32_index(battery_np, "operating-range-celsius",
|
||||
0, &info->temp_min);
|
||||
of_property_read_u32_index(battery_np, "operating-range-celsius",
|
||||
1, &info->temp_max);
|
||||
|
||||
len = of_property_count_u32_elems(battery_np, "ocv-capacity-celsius");
|
||||
if (len < 0 && len != -EINVAL) {
|
||||
err = len;
|
||||
|
|
|
@ -365,6 +365,12 @@ struct power_supply_battery_info {
|
|||
int constant_charge_voltage_max_uv; /* microVolts */
|
||||
int factory_internal_resistance_uohm; /* microOhms */
|
||||
int ocv_temp[POWER_SUPPLY_OCV_TEMP_MAX];/* celsius */
|
||||
int temp_ambient_alert_min; /* celsius */
|
||||
int temp_ambient_alert_max; /* celsius */
|
||||
int temp_alert_min; /* celsius */
|
||||
int temp_alert_max; /* celsius */
|
||||
int temp_min; /* celsius */
|
||||
int temp_max; /* celsius */
|
||||
struct power_supply_battery_ocv_table *ocv_table[POWER_SUPPLY_OCV_TEMP_MAX];
|
||||
int ocv_table_size[POWER_SUPPLY_OCV_TEMP_MAX];
|
||||
struct power_supply_resistance_temp_table *resist_table;
|
||||
|
|
Загрузка…
Ссылка в новой задаче