summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnirudh Ghayal <aghayal@codeaurora.org>2018-07-19 19:34:41 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2019-02-15 03:16:47 -0800
commit244c45dfecca189bb1f1f8711d43a5ccea8d247d (patch)
treeb50d928b89491eea123f35d210b5376d2cc7bb74
parent4267c5bc846e6f0613e670f33a1b207a3decaeff (diff)
msm: qpnp-haptic: Force disable haptics during shutdown
Force disable haptics during shutdown to avoid the device from vibrating during TWM entry. Change-Id: I6bfdf4d9a634dec1aa56a1fdc5553cefe4a94a73 Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org> Signed-off-by: Shilpa Suresh <sbsure@codeaurora.org>
-rw-r--r--drivers/leds/leds-qpnp-haptics.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/leds/leds-qpnp-haptics.c b/drivers/leds/leds-qpnp-haptics.c
index 87aa4495bbda..0a7edc713a2c 100644
--- a/drivers/leds/leds-qpnp-haptics.c
+++ b/drivers/leds/leds-qpnp-haptics.c
@@ -2519,6 +2519,16 @@ static int qpnp_haptics_remove(struct platform_device *pdev)
return 0;
}
+static void qpnp_haptics_shutdown(struct platform_device *pdev)
+{
+ struct hap_chip *chip = dev_get_drvdata(&pdev->dev);
+
+ cancel_work_sync(&chip->haptics_work);
+
+ /* disable haptics */
+ qpnp_haptics_mod_enable(chip, false);
+}
+
static const struct dev_pm_ops qpnp_haptics_pm_ops = {
.suspend = qpnp_haptics_suspend,
};
@@ -2536,6 +2546,7 @@ static struct platform_driver qpnp_haptics_driver = {
},
.probe = qpnp_haptics_probe,
.remove = qpnp_haptics_remove,
+ .shutdown = qpnp_haptics_shutdown,
};
module_platform_driver(qpnp_haptics_driver);