summaryrefslogtreecommitdiffstats
path: root/drivers/power
diff options
context:
space:
mode:
authorThomas Champagne <lafeuil@gmail.com>2009-12-18 03:41:41 +0300
committerAnton Vorontsov <cbouatmailru@gmail.com>2009-12-18 03:51:29 +0300
commitd54e7929d8073b0fff8af16f8ff6ebbba6fc4154 (patch)
tree66f49909a111fcd7a32f96072dffc41484c1dd27 /drivers/power
parentb8a7f3cd7e8212e5c572178ff3b5a514861036a5 (diff)
downloadlinux-d54e7929d8073b0fff8af16f8ff6ebbba6fc4154.tar.bz2
pmu_battery: Fix battery full reporting
Prior to this patch, pmu_battery was unable to report battery full status. This patch fixes the issue by adding a proper handling code into pmu_bat_get_property(): if we're on AC and the battery isn't charging, then the battery is considered full. Signed-off-by: Thomas Champagne <lafeuil@gmail.com> Acked-By: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/pmu_battery.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/power/pmu_battery.c b/drivers/power/pmu_battery.c
index 9346a862f1f2..9c87ad564803 100644
--- a/drivers/power/pmu_battery.c
+++ b/drivers/power/pmu_battery.c
@@ -89,6 +89,8 @@ static int pmu_bat_get_property(struct power_supply *psy,
case POWER_SUPPLY_PROP_STATUS:
if (pbi->flags & PMU_BATT_CHARGING)
val->intval = POWER_SUPPLY_STATUS_CHARGING;
+ else if (pmu_power_flags & PMU_PWR_AC_PRESENT)
+ val->intval = POWER_SUPPLY_STATUS_FULL;
else
val->intval = POWER_SUPPLY_STATUS_DISCHARGING;
break;