aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/power/lp8727_charger.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/power/lp8727_charger.c b/drivers/power/lp8727_charger.c
index 65c9840a37e1..254bbe07c269 100644
--- a/drivers/power/lp8727_charger.c
+++ b/drivers/power/lp8727_charger.c
@@ -59,6 +59,9 @@
59#define LP8727_TEMP_STAT (3 << 5) 59#define LP8727_TEMP_STAT (3 << 5)
60#define LP8727_TEMP_SHIFT 5 60#define LP8727_TEMP_SHIFT 5
61 61
62/* CHGCTRL2 register */
63#define LP8727_ICHG_SHIFT 4
64
62enum lp8727_dev_id { 65enum lp8727_dev_id {
63 LP8727_ID_NONE, 66 LP8727_ID_NONE,
64 LP8727_ID_TA, 67 LP8727_ID_TA,
@@ -222,11 +225,11 @@ static void lp8727_enable_chgdet(struct lp8727_chg *pchg)
222 225
223static void lp8727_delayed_func(struct work_struct *_work) 226static void lp8727_delayed_func(struct work_struct *_work)
224{ 227{
225 u8 intstat[2], idno, vbus; 228 u8 intstat[LP8788_NUM_INTREGS], idno, vbus;
226 struct lp8727_chg *pchg = 229 struct lp8727_chg *pchg =
227 container_of(_work, struct lp8727_chg, work.work); 230 container_of(_work, struct lp8727_chg, work.work);
228 231
229 if (lp8727_read_bytes(pchg, LP8727_INT1, intstat, 2)) { 232 if (lp8727_read_bytes(pchg, LP8727_INT1, intstat, LP8788_NUM_INTREGS)) {
230 dev_err(pchg->dev, "can not read INT registers\n"); 233 dev_err(pchg->dev, "can not read INT registers\n");
231 return; 234 return;
232 } 235 }
@@ -401,7 +404,7 @@ static void lp8727_charger_changed(struct power_supply *psy)
401 if (pchg->chg_parm) { 404 if (pchg->chg_parm) {
402 eoc_level = pchg->chg_parm->eoc_level; 405 eoc_level = pchg->chg_parm->eoc_level;
403 ichg = pchg->chg_parm->ichg; 406 ichg = pchg->chg_parm->ichg;
404 val = (ichg << 4) | eoc_level; 407 val = (ichg << LP8727_ICHG_SHIFT) | eoc_level;
405 lp8727_write_byte(pchg, LP8727_CHGCTRL2, val); 408 lp8727_write_byte(pchg, LP8727_CHGCTRL2, val);
406 } 409 }
407 } 410 }