diff options
author | Len Brown <len.brown@intel.com> | 2007-02-17 04:11:37 +0100 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-02-17 04:11:37 +0100 |
commit | 4559b438225b01942e1661759db0df55883b1bc0 (patch) | |
tree | 2c47cd8b33e8ef2db4e3ae17467170b1cc508f4d /drivers/acpi/battery.c | |
parent | Pull bugzilla-7122 into release branch (diff) | |
parent | ACPI: battery: check for battery present on /proc/battery access (diff) | |
download | linux-4559b438225b01942e1661759db0df55883b1bc0.tar.xz linux-4559b438225b01942e1661759db0df55883b1bc0.zip |
Pull bugzilla-7200 into release branch
Diffstat (limited to 'drivers/acpi/battery.c')
-rw-r--r-- | drivers/acpi/battery.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c index 02de49ef1bce..e64c76c8b726 100644 --- a/drivers/acpi/battery.c +++ b/drivers/acpi/battery.c @@ -323,6 +323,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) -------------------------------------------------------------------------- */ @@ -339,6 +346,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 { @@ -423,6 +432,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 { @@ -498,6 +509,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; @@ -535,6 +548,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; |