diff options
Diffstat (limited to 'drivers/power/lp8727_charger.c')
-rw-r--r-- | drivers/power/lp8727_charger.c | 9 |
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 @@ #define LP8727_TEMP_STAT (3 << 5) #define LP8727_TEMP_SHIFT 5 +/* CHGCTRL2 register */ +#define LP8727_ICHG_SHIFT 4 + enum lp8727_dev_id { LP8727_ID_NONE, LP8727_ID_TA, @@ -222,11 +225,11 @@ static void lp8727_enable_chgdet(struct lp8727_chg *pchg) static void lp8727_delayed_func(struct work_struct *_work) { - u8 intstat[2], idno, vbus; + u8 intstat[LP8788_NUM_INTREGS], idno, vbus; struct lp8727_chg *pchg = container_of(_work, struct lp8727_chg, work.work); - if (lp8727_read_bytes(pchg, LP8727_INT1, intstat, 2)) { + if (lp8727_read_bytes(pchg, LP8727_INT1, intstat, LP8788_NUM_INTREGS)) { dev_err(pchg->dev, "can not read INT registers\n"); return; } @@ -401,7 +404,7 @@ static void lp8727_charger_changed(struct power_supply *psy) if (pchg->chg_parm) { eoc_level = pchg->chg_parm->eoc_level; ichg = pchg->chg_parm->ichg; - val = (ichg << 4) | eoc_level; + val = (ichg << LP8727_ICHG_SHIFT) | eoc_level; lp8727_write_byte(pchg, LP8727_CHGCTRL2, val); } } |