diff options
| author | Abhijeet Dharmapurikar <adharmap@codeaurora.org> | 2017-08-03 15:22:14 -0700 |
|---|---|---|
| committer | Nicholas Troast <ntroast@codeaurora.org> | 2017-08-04 11:17:06 -0700 |
| commit | fbd4949949791ab85b648fb1327ecea5d345f99d (patch) | |
| tree | 148a5fb37828c963ff29b17b1e26d9b377a268b6 /drivers/power | |
| parent | c4205fe6be9dc3b998451e4eb44aecf91ef4665f (diff) | |
qpnp-qnovo: skip taking ESR measurement when disabled
Currently when ptrain_done interrupt is handled, the driver invariably
issues a ESR measurement. This is not required if qnovo is disabled.
Change-Id: I8c81dadc38da69ba7248905af2d772f7ce918239
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Diffstat (limited to 'drivers/power')
| -rw-r--r-- | drivers/power/supply/qcom/qpnp-qnovo.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/power/supply/qcom/qpnp-qnovo.c b/drivers/power/supply/qcom/qpnp-qnovo.c index cf90f9041935..b20807990efc 100644 --- a/drivers/power/supply/qcom/qpnp-qnovo.c +++ b/drivers/power/supply/qcom/qpnp-qnovo.c @@ -1396,6 +1396,17 @@ static irqreturn_t handle_ptrain_done(int irq, void *data) union power_supply_propval pval = {0}; /* + * In some cases (esp shutting down) the userspace would disable by + * setting qnovo_enable=0. Also charger could be removed or there is + * an error (i.e. its not okay to run qnovo)- + * skip taking ESR measurement in such situations + */ + + if (get_client_vote(chip->disable_votable, USER_VOTER) + || get_effective_result(chip->not_ok_to_qnovo_votable) > 0) + return IRQ_HANDLED; + + /* * hw resets pt_en bit once ptrain_done triggers. * vote on behalf of QNI to disable it such that * once QNI enables it, the votable state changes |
