提交 4bd35cdb 编写于 作者: V Vladimir Lebedev 提交者: Len Brown

ACPI: battery: check for battery present on /proc/battery access

http://bugzilla.kernel.org/show_bug.cgi?id=7200Signed-off-by: NVladimir Lebedev <vladimir.p.lebedev@intel.com>
Signed-off-by: NLen Brown <len.brown@intel.com>
上级 eaefd5fb
......@@ -324,6 +324,13 @@ static int acpi_battery_check(struct acpi_battery *battery)
return result;
}
static void acpi_battery_check_present(struct acpi_battery *battery)
{
if (!battery->flags.present) {
acpi_battery_check(battery);
}
}
/* --------------------------------------------------------------------------
FS Interface (/proc)
-------------------------------------------------------------------------- */
......@@ -340,6 +347,8 @@ static int acpi_battery_read_info(struct seq_file *seq, void *offset)
if (!battery)
goto end;
acpi_battery_check_present(battery);
if (battery->flags.present)
seq_printf(seq, "present: yes\n");
else {
......@@ -424,6 +433,8 @@ static int acpi_battery_read_state(struct seq_file *seq, void *offset)
if (!battery)
goto end;
acpi_battery_check_present(battery);
if (battery->flags.present)
seq_printf(seq, "present: yes\n");
else {
......@@ -499,6 +510,8 @@ static int acpi_battery_read_alarm(struct seq_file *seq, void *offset)
if (!battery)
goto end;
acpi_battery_check_present(battery);
if (!battery->flags.present) {
seq_printf(seq, "present: no\n");
goto end;
......@@ -536,6 +549,8 @@ acpi_battery_write_alarm(struct file *file,
if (!battery || (count > sizeof(alarm_string) - 1))
return -EINVAL;
acpi_battery_check_present(battery);
if (!battery->flags.present)
return -ENODEV;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册