diff options
author | Olaf Hering <olh@suse.de> | 2005-10-28 20:46:51 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-10-29 01:11:48 -0400 |
commit | 08124f958997ac14bb2284af787752125a892e9f (patch) | |
tree | 5e46f1ce146cd89b61565194aef0a386a9b37acf | |
parent | 7e658118faa9faf71f8a8295cdaeb7ca71c04672 (diff) |
[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 19d3e05d6825..e5a2bbf99399 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) | |||
430 | -1: Unknown | 430 | -1: Unknown |
431 | 8) min = minutes; sec = seconds */ | 431 | 8) min = minutes; sec = seconds */ |
432 | 432 | ||
433 | unsigned short ac_line_status = 0xff; | 433 | unsigned short ac_line_status; |
434 | unsigned short battery_status = 0xff; | 434 | unsigned short battery_status = 0; |
435 | unsigned short battery_flag = 0xff; | 435 | unsigned short battery_flag = 0xff; |
436 | int percentage = -1; | 436 | int percentage = -1; |
437 | int time_units = -1; | 437 | int time_units = -1; |
@@ -446,6 +446,7 @@ static int apm_emu_get_info(char *buf, char **start, off_t fpos, int length) | |||
446 | ac_line_status = ((pmu_power_flags & PMU_PWR_AC_PRESENT) != 0); | 446 | ac_line_status = ((pmu_power_flags & PMU_PWR_AC_PRESENT) != 0); |
447 | for (i=0; i<pmu_battery_count; i++) { | 447 | for (i=0; i<pmu_battery_count; i++) { |
448 | if (pmu_batteries[i].flags & PMU_BATT_PRESENT) { | 448 | if (pmu_batteries[i].flags & PMU_BATT_PRESENT) { |
449 | battery_status++; | ||
449 | if (percentage < 0) | 450 | if (percentage < 0) |
450 | percentage = 0; | 451 | percentage = 0; |
451 | if (charge < 0) | 452 | if (charge < 0) |
@@ -461,6 +462,9 @@ static int apm_emu_get_info(char *buf, char **start, off_t fpos, int length) | |||
461 | charging++; | 462 | charging++; |
462 | } | 463 | } |
463 | } | 464 | } |
465 | if (0 == battery_status) | ||
466 | ac_line_status = 1; | ||
467 | battery_status = 0xff; | ||
464 | if (real_count) { | 468 | if (real_count) { |
465 | if (amperage < 0) { | 469 | if (amperage < 0) { |
466 | if (btype == PMU_BATT_TYPE_SMART) | 470 | if (btype == PMU_BATT_TYPE_SMART) |