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

Commit 86533e80 authored by Len Brown's avatar Len Brown
Browse files

Pull battery into release branch

parents 2ffbb837 037cbc63
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -153,6 +153,8 @@ static int acpi_battery_get_property(struct power_supply *psy,
			val->intval = POWER_SUPPLY_STATUS_CHARGING;
		else if (battery->state == 0)
			val->intval = POWER_SUPPLY_STATUS_FULL;
		else
			val->intval = POWER_SUPPLY_STATUS_UNKNOWN;
		break;
	case POWER_SUPPLY_PROP_PRESENT:
		val->intval = acpi_battery_present(battery);
+17 −8
Original line number Diff line number Diff line
@@ -113,6 +113,7 @@ struct acpi_battery {
	u16 spec;
	u8 id;
	u8 present:1;
	u8 have_sysfs_alarm:1;
};

#define to_acpi_battery(x) container_of(x, struct acpi_battery, bat);
@@ -808,7 +809,13 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id)
	}
	battery->bat.get_property = acpi_sbs_battery_get_property;
	result = power_supply_register(&sbs->device->dev, &battery->bat);
	device_create_file(battery->bat.dev, &alarm_attr);
	if (result)
		goto end;
	result = device_create_file(battery->bat.dev, &alarm_attr);
	if (result)
		goto end;
	battery->have_sysfs_alarm = 1;
      end:
	printk(KERN_INFO PREFIX "%s [%s]: Battery Slot [%s] (battery %s)\n",
	       ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device),
	       battery->name, sbs->battery->present ? "present" : "absent");
@@ -817,14 +824,16 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id)

static void acpi_battery_remove(struct acpi_sbs *sbs, int id)
{
	if (sbs->battery[id].bat.dev)
		device_remove_file(sbs->battery[id].bat.dev, &alarm_attr);
		power_supply_unregister(&sbs->battery[id].bat);
#ifdef CONFIG_ACPI_PROCFS
	if (sbs->battery[id].proc_entry) {
		acpi_sbs_remove_fs(&(sbs->battery[id].proc_entry),
				   acpi_battery_dir);
	struct acpi_battery *battery = &sbs->battery[id];

	if (battery->bat.dev) {
		if (battery->have_sysfs_alarm)
			device_remove_file(battery->bat.dev, &alarm_attr);
		power_supply_unregister(&battery->bat);
	}
#ifdef CONFIG_ACPI_PROCFS
	if (battery->proc_entry)
		acpi_sbs_remove_fs(&battery->proc_entry, acpi_battery_dir);
#endif
}