diff options
author | Arun Murthy <arun.murthy@stericsson.com> | 2011-07-07 11:11:34 +0530 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-09-19 16:00:09 +0200 |
commit | e20c899d79327f5ef94b3bc8a34d0deaeb8018ad (patch) | |
tree | d209ebf7cec77bdf45daa0eb90e8a60cfd9a8d5f /drivers/power | |
parent | 76419571ff2759906c7a90312df8b523340d6959 (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.c | 14 |
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; } |