summaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorArun Murthy <arun.murthy@stericsson.com>2011-07-07 11:11:34 +0530
committerUlf Hansson <ulf.hansson@stericsson.com>2011-09-19 16:00:09 +0200
commite20c899d79327f5ef94b3bc8a34d0deaeb8018ad (patch)
treed209ebf7cec77bdf45daa0eb90e8a60cfd9a8d5f /drivers/power
parent76419571ff2759906c7a90312df8b523340d6959 (diff)
power: ab5500-charger: update the usb presence status
When usb is removed, since there are no status registers, verify the same by reading the interrupt source register and send an uevent. ST-Ericsson Linux next: Not Tested ST-Ericsson ID: ER351099 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ife573551319e91e3651c19e40601bb850c186a14 Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/26703 Reviewed-by: Johan PALSSON <johan.palsson@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/ab5500_charger.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/power/ab5500_charger.c b/drivers/power/ab5500_charger.c
index 736be487e14..1eee43a5c8f 100644
--- a/drivers/power/ab5500_charger.c
+++ b/drivers/power/ab5500_charger.c
@@ -40,8 +40,8 @@
#define CHARGER_REV_SUP 0x10
#define SW_EOC 0x40
#define USB_CHAR_DET 0x02
-#define USB_CHAR_DET_DONE 0x02
#define VBUS_RISING 0x20
+#define VBUS_FALLING 0x40
#define USB_LINK_UPDATE 0x02
#define USB_CH_TH_PROT_LOW 0x02
#define USB_CH_TH_PROT_HIGH 0x01
@@ -285,16 +285,8 @@ static int ab5500_charger_detect_chargers(struct ab5500_charger *di)
if (val & VBUS_RISING)
result |= USB_PW_CONN;
-
- ret = abx500_get_register_interruptible(di->dev, AB5500_BANK_IT,
- AB5500_IT_SOURCE9, &val);
- if (ret < 0) {
- dev_err(di->dev, "%s ab5500 read failed\n", __func__);
- return ret;
- }
-
- if (val & USB_CHAR_DET_DONE)
- result |= USB_PW_CONN;
+ else if (val & VBUS_FALLING)
+ result = NO_PW_CONN;
return result;
}