// SPDX-License-Identifier: GPL-2.0+ /* * Battery driver for Acer Iconia Tab A500. * * Copyright 2020 GRATE-driver project. * * Based on downstream driver from Acer Inc. * Based on NVIDIA Gas Gauge driver for SBS Compliant Batteries. * * Copyright (c) 2010, NVIDIA Corporation.
*/
switch (psp) { case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN: case POWER_SUPPLY_PROP_CURRENT_NOW: case POWER_SUPPLY_PROP_VOLTAGE_NOW:
val->intval *= base_unit_conversion; break;
case POWER_SUPPLY_PROP_TEMP:
val->intval -= temp_kelvin_to_celsius; break;
case POWER_SUPPLY_PROP_PRESENT:
val->intval = !!val->intval; break;
default:
dev_dbg(dev, "%s: no need for unit conversion %d\n", __func__, psp);
}
}
/* * DESIGN_CAPACITY register always returns a non-zero value if * battery is connected and zero if disconnected, hence we'll use * it for judging the battery presence.
*/ if (psp == POWER_SUPPLY_PROP_PRESENT)
psp = POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN;
for (i = 0; i < ARRAY_SIZE(ec_data); i++) if (psp == ec_data[i].psp) return i;
staticint a500_battery_get_property(struct power_supply *psy, enum power_supply_property psp, union power_supply_propval *val)
{ struct a500_battery *bat = power_supply_get_drvdata(psy); struct device *dev = psy->dev.parent; int ret = 0;
switch (psp) { case POWER_SUPPLY_PROP_STATUS:
val->intval = a500_battery_get_status(bat); break;
case POWER_SUPPLY_PROP_TECHNOLOGY:
val->intval = POWER_SUPPLY_TECHNOLOGY_LION; break;
case POWER_SUPPLY_PROP_CAPACITY:
a500_battery_update_capacity(bat);
val->intval = bat->capacity; break;
case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN: case POWER_SUPPLY_PROP_CURRENT_NOW: case POWER_SUPPLY_PROP_VOLTAGE_NOW: case POWER_SUPPLY_PROP_PRESENT: case POWER_SUPPLY_PROP_TEMP:
ret = a500_battery_get_ec_data_index(dev, psp); if (ret < 0) break;
ret = regmap_read(bat->regmap, ec_data[ret].reg, &val->intval); break;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.