aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power/pm2301_charger.c
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2013-02-13 11:39:19 +0000
committerLee Jones <lee.jones@linaro.org>2013-03-07 12:35:40 +0800
commit8891716e24d7b0f4b1c3b4fdff641bcb1fb282c4 (patch)
tree4f5fbc4035d59faab6d6defee2e6f51f2bde021b /drivers/power/pm2301_charger.c
parentpm2301-charger: Support for over voltage protection on the ab9540 (diff)
downloadlinux-dev-8891716e24d7b0f4b1c3b4fdff641bcb1fb282c4.tar.xz
linux-dev-8891716e24d7b0f4b1c3b4fdff641bcb1fb282c4.zip
ab8500-bm: Charge only mode fixes for the ab9540
Fix for charging not getting enabled in charge only mode by external charger. Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/power/pm2301_charger.c')
-rw-r--r--drivers/power/pm2301_charger.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/power/pm2301_charger.c b/drivers/power/pm2301_charger.c
index b560fa5ac4e7..45ef3b9de6b9 100644
--- a/drivers/power/pm2301_charger.c
+++ b/drivers/power/pm2301_charger.c
@@ -1059,6 +1059,13 @@ static int pm2xxx_wall_charger_probe(struct i2c_client *i2c_client,
ret = pm2xxx_charger_detection(pm2, &val);
if ((ret == 0) && val) {
+ /*
+ * When boot is due to AC charger plug-in,
+ * read interrupt registers
+ */
+ pm2xxx_reg_read(pm2, PM2XXX_REG_INT1, &val);
+ pm2xxx_reg_read(pm2, PM2XXX_REG_INT2, &val);
+ pm2xxx_reg_read(pm2, PM2XXX_REG_INT4, &val);
pm2->ac.charger_connected = 1;
pm2->ac_conn = true;
power_supply_changed(&pm2->ac_chg.psy);