Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3413b4ea authored by Lars-Peter Clausen's avatar Lars-Peter Clausen
Browse files

bq27x00: Return -ENODEV for properties if the battery is not present



This patch changes get_property callback of the bq27x00 battery to return
-ENODEV for properties other then the PROP_PRESENT if the battery is not
present.
The power subsystem core expects a driver to behave that way.

Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Acked-by: default avatarRodolfo Giometti <giometti@linux.it>
Tested-by: default avatarGrazvydas Ignotas <notasas@gmail.com>
parent a2e5118c
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -252,16 +252,21 @@ static int bq27x00_battery_get_property(struct power_supply *psy,
{
	int ret = 0;
	struct bq27x00_device_info *di = to_bq27x00_device_info(psy);
	int voltage = bq27x00_battery_voltage(di);

	if (psp != POWER_SUPPLY_PROP_PRESENT && voltage <= 0)
		return -ENODEV;

	switch (psp) {
	case POWER_SUPPLY_PROP_STATUS:
		ret = bq27x00_battery_status(di, val);
		break;
	case POWER_SUPPLY_PROP_VOLTAGE_NOW:
		val->intval = voltage;
		break;
	case POWER_SUPPLY_PROP_PRESENT:
		val->intval = bq27x00_battery_voltage(di);
		if (psp == POWER_SUPPLY_PROP_PRESENT)
			val->intval = val->intval <= 0 ? 0 : 1;
			val->intval = voltage <= 0 ? 0 : 1;
		break;
	case POWER_SUPPLY_PROP_CURRENT_NOW:
		val->intval = bq27x00_battery_current(di);