touch: Fix Touch_to_wake during RBSC mode

Calling enable_irq_wake() causes suspend_device_irqs() to treat the
given IRQ in a special way.the IRQ remains enabled, by on the first
interrupt it will be disabled, marked as pending and "suspended"
so that it will be re-enabled by resume_device_irqs()
during the subsequent system resume.

Change-Id: Id129a8b4e0eddc07000793986b119a0a7b5530ef
Signed-off-by: Srikanth Katteboina <quic_skattebo@quicinc.com>
Signed-off-by: Surya Teja Kudiri <quic_skudiri@quicinc.com>
This commit is contained in:
Srikanth Katteboina
2022-10-17 00:18:29 +05:30
committed by Surya Teja Kudiri
parent 7e6fdfcf0e
commit bd6a84f669

View File

@@ -17721,6 +17721,10 @@ int pt_probe(const struct pt_bus_ops *ops, struct device *dev,
pt_debug(dev, DL_ERROR, "%s: Error, device_init_wakeup rc:%d\n", pt_debug(dev, DL_ERROR, "%s: Error, device_init_wakeup rc:%d\n",
__func__, rc); __func__, rc);
if (!enable_irq_wake(cd->irq)) {
cd->irq_wake = 1;
pt_debug(cd->dev, DL_WARN, "%s Device MAY wakeup\n", __func__);
}
pm_runtime_get_noresume(dev); pm_runtime_get_noresume(dev);
pm_runtime_set_active(dev); pm_runtime_set_active(dev);
pm_runtime_enable(dev); pm_runtime_enable(dev);