summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhijeet Dharmapurikar <adharmap@codeaurora.org>2017-08-08 13:18:28 -0700
committerAbhijeet Dharmapurikar <adharmap@codeaurora.org>2017-08-24 09:54:47 -0700
commit9a2676a949dad2a013ab7aaa6ff29ba04d64ebeb (patch)
tree9c521debc93c7645e747eafb8b971eb35078d150
parent5c1894c01df4cdb853d2ef3a0b1edc7bbb32020b (diff)
qpnp-qnovo: disable while shutting down
While shutting down set the not_ok_to_qnovo votable to true, so that we skip measuring ESR if a pulse train done interrupt triggers right during the shutdown. Change-Id: If3a0a8e9b1d60920cbbedc16af91c05caec8dcb2 Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
-rw-r--r--drivers/power/supply/qcom/qpnp-qnovo.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/power/supply/qcom/qpnp-qnovo.c b/drivers/power/supply/qcom/qpnp-qnovo.c
index 98bb939f47ac..b70d97a7edf6 100644
--- a/drivers/power/supply/qcom/qpnp-qnovo.c
+++ b/drivers/power/supply/qcom/qpnp-qnovo.c
@@ -112,6 +112,7 @@
#define GAIN_LSB_FACTOR 976560
#define USER_VOTER "user_voter"
+#define SHUTDOWN_VOTER "user_voter"
#define OK_TO_QNOVO_VOTER "ok_to_qnovo_voter"
#define QNOVO_VOTER "qnovo_voter"
@@ -1726,6 +1727,13 @@ static int qnovo_remove(struct platform_device *pdev)
return 0;
}
+static void qnovo_shutdown(struct platform_device *pdev)
+{
+ struct qnovo *chip = platform_get_drvdata(pdev);
+
+ vote(chip->not_ok_to_qnovo_votable, SHUTDOWN_VOTER, true, 0);
+}
+
static const struct of_device_id match_table[] = {
{ .compatible = "qcom,qpnp-qnovo", },
{ },
@@ -1739,6 +1747,7 @@ static struct platform_driver qnovo_driver = {
},
.probe = qnovo_probe,
.remove = qnovo_remove,
+ .shutdown = qnovo_shutdown,
};
module_platform_driver(qnovo_driver);