diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2017-03-31 21:24:36 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-03-31 21:24:36 -0700 |
| commit | bf8798bbf17e08c7dd888736c4a83ecd1b6fc486 (patch) | |
| tree | 5312b012d641f24636242bc1e385a442076fb836 /drivers/power | |
| parent | c57c1bf5d98621ba4610abc502c12b6a4bfb1fb8 (diff) | |
| parent | 6399b30218075745b30ebe218e75348cf84e2820 (diff) | |
Merge "qcom: qnovo: Fix PCURx reporting error"
Diffstat (limited to 'drivers/power')
| -rw-r--r-- | drivers/power/supply/qcom/qpnp-qnovo.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/power/supply/qcom/qpnp-qnovo.c b/drivers/power/supply/qcom/qpnp-qnovo.c index 759f483031d2..c74dc8989821 100644 --- a/drivers/power/supply/qcom/qpnp-qnovo.c +++ b/drivers/power/supply/qcom/qpnp-qnovo.c @@ -843,7 +843,11 @@ static ssize_t current_show(struct class *c, struct class_attribute *attr, pr_err("Couldn't read %s rc = %d\n", params[i].name, rc); return -EINVAL; } - regval_nA = buf[1] << 8 | buf[0]; + + if (buf[1] & BIT(5)) + buf[1] |= GENMASK(7, 6); + + regval_nA = (s16)(buf[1] << 8 | buf[0]); regval_nA = div_s64(regval_nA * params[i].reg_to_unit_multiplier, params[i].reg_to_unit_divider) - params[i].reg_to_unit_offset; |
