diff options
author | Olaf Hering <olh@suse.de> | 2005-10-29 00:46:51 (GMT) |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-10-29 05:11:48 (GMT) |
commit | 08124f958997ac14bb2284af787752125a892e9f (patch) | |
tree | 5e46f1ce146cd89b61565194aef0a386a9b37acf | |
parent | 7e658118faa9faf71f8a8295cdaeb7ca71c04672 (diff) | |
download | linux-08124f958997ac14bb2284af787752125a892e9f.tar.xz |
[PATCH] ppc64: AC Power handling broken for desktops
Currently, AC Power is 0 on a desktop G4. No batteries present should mean
AC Power == 1.
Signed-off-by: Olaf Hering <olh@suse.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | drivers/macintosh/apm_emu.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/macintosh/apm_emu.c b/drivers/macintosh/apm_emu.c index 19d3e05..e5a2bbf 100644 --- a/drivers/macintosh/apm_emu.c +++ b/drivers/macintosh/apm_emu.c @@ -430,8 +430,8 @@ static int apm_emu_get_info(char *buf, char **start, off_t fpos, int length) -1: Unknown 8) min = minutes; sec = seconds */ - unsigned short ac_line_status = 0xff; - unsigned short battery_status = 0xff; + unsigned short ac_line_status; + unsigned short battery_status = 0; unsigned short battery_flag = 0xff; int percentage = -1; int time_units = -1; @@ -446,6 +446,7 @@ static int apm_emu_get_info(char *buf, char **start, off_t fpos, int length) ac_line_status = ((pmu_power_flags & PMU_PWR_AC_PRESENT) != 0); for (i=0; i<pmu_battery_count; i++) { if (pmu_batteries[i].flags & PMU_BATT_PRESENT) { + battery_status++; if (percentage < 0) percentage = 0; if (charge < 0) @@ -461,6 +462,9 @@ static int apm_emu_get_info(char *buf, char **start, off_t fpos, int length) charging++; } } + if (0 == battery_status) + ac_line_status = 1; + battery_status = 0xff; if (real_count) { if (amperage < 0) { if (btype == PMU_BATT_TYPE_SMART) |