Pull battery into release branch
This commit is contained in:
commit
86533e80e0
2 changed files with 19 additions and 8 deletions
|
@ -153,6 +153,8 @@ static int acpi_battery_get_property(struct power_supply *psy,
|
||||||
val->intval = POWER_SUPPLY_STATUS_CHARGING;
|
val->intval = POWER_SUPPLY_STATUS_CHARGING;
|
||||||
else if (battery->state == 0)
|
else if (battery->state == 0)
|
||||||
val->intval = POWER_SUPPLY_STATUS_FULL;
|
val->intval = POWER_SUPPLY_STATUS_FULL;
|
||||||
|
else
|
||||||
|
val->intval = POWER_SUPPLY_STATUS_UNKNOWN;
|
||||||
break;
|
break;
|
||||||
case POWER_SUPPLY_PROP_PRESENT:
|
case POWER_SUPPLY_PROP_PRESENT:
|
||||||
val->intval = acpi_battery_present(battery);
|
val->intval = acpi_battery_present(battery);
|
||||||
|
|
|
@ -113,6 +113,7 @@ struct acpi_battery {
|
||||||
u16 spec;
|
u16 spec;
|
||||||
u8 id;
|
u8 id;
|
||||||
u8 present:1;
|
u8 present:1;
|
||||||
|
u8 have_sysfs_alarm:1;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define to_acpi_battery(x) container_of(x, struct acpi_battery, bat);
|
#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;
|
battery->bat.get_property = acpi_sbs_battery_get_property;
|
||||||
result = power_supply_register(&sbs->device->dev, &battery->bat);
|
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",
|
printk(KERN_INFO PREFIX "%s [%s]: Battery Slot [%s] (battery %s)\n",
|
||||||
ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device),
|
ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device),
|
||||||
battery->name, sbs->battery->present ? "present" : "absent");
|
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)
|
static void acpi_battery_remove(struct acpi_sbs *sbs, int id)
|
||||||
{
|
{
|
||||||
if (sbs->battery[id].bat.dev)
|
struct acpi_battery *battery = &sbs->battery[id];
|
||||||
device_remove_file(sbs->battery[id].bat.dev, &alarm_attr);
|
|
||||||
power_supply_unregister(&sbs->battery[id].bat);
|
if (battery->bat.dev) {
|
||||||
#ifdef CONFIG_ACPI_PROCFS
|
if (battery->have_sysfs_alarm)
|
||||||
if (sbs->battery[id].proc_entry) {
|
device_remove_file(battery->bat.dev, &alarm_attr);
|
||||||
acpi_sbs_remove_fs(&(sbs->battery[id].proc_entry),
|
power_supply_unregister(&battery->bat);
|
||||||
acpi_battery_dir);
|
|
||||||
}
|
}
|
||||||
|
#ifdef CONFIG_ACPI_PROCFS
|
||||||
|
if (battery->proc_entry)
|
||||||
|
acpi_sbs_remove_fs(&battery->proc_entry, acpi_battery_dir);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue