summaryrefslogtreecommitdiff
path: root/target/linux/s3c24xx/patches-2.6.26/0248-fix-pcf50633-usbrem-charging-led.patch.patch
blob: dcbf699bdb5a48048025294f1228e592beffa2e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
From 8d2916df234dc4762dd019db2ace105a6e744894 Mon Sep 17 00:00:00 2001
From: Andy Green <andy@openmoko.com>
Date: Sun, 10 Aug 2008 09:15:59 +0100
Subject: [PATCH] fix-pcf50633-usbrem-charging-led.patch

If the charger was removed, we fell through back to old
hdq-driven code with normally wrong but slightly random
results for charging LED behaviour in that circumstance

This patch makes us use the tracked charger status
callbacks alone if they are defined in the platform
data.

Signed-off-by: Andy Green <andy@openmoko.com>
---
 drivers/power/bq27000_battery.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/power/bq27000_battery.c b/drivers/power/bq27000_battery.c
index 7020608..4c7e862 100644
--- a/drivers/power/bq27000_battery.c
+++ b/drivers/power/bq27000_battery.c
@@ -182,12 +182,16 @@ static int bq27000_battery_get_property(struct power_supply *psy,
 			 */
 			if (!di->pdata->get_charger_active_status)
 				goto use_bat;
-			if ((di->pdata->get_charger_active_status)())
+
+			if ((di->pdata->get_charger_active_status)()) {
 				val->intval = POWER_SUPPLY_STATUS_CHARGING;
-			else
-				val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING;
-			break;
+				break;
+			}
 		}
+
+		val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING;
+		break;
+
 use_bat:
 		/*
 		 * either the charger is not connected, or the
-- 
1.5.6.3