: tundra : keep nfc irq always wakeupable

keep irq always wake up
can get I2C message from irq

Change-Id: Ie338aec3f3caf90cd910b87ebbfc5089d7ceb7d1
Signed-off-by: zhangjun10 <zhangj10@motorola.com>
Reviewed-on: https://gerrit.mot.com/2298808
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Wang Wang <wangwang1@lenovo.com>
Submit-Approved: Jira Key
This commit is contained in:
zhangjun10 2022-06-13 15:20:46 +08:00 • committed by Jun Zhang
commit 53f295b746

View file

@ -365,6 +365,7 @@ int nfc_i2c_dev_probe(struct i2c_client *client, const struct i2c_device_id *id)
}
device_init_wakeup(&client->dev, true);
enable_irq_wake(client->irq);
i2c_dev->irq_wake_up = false;
nfc_dev->is_ese_session_active = false;
@ -446,8 +447,9 @@ int nfc_i2c_dev_suspend(struct device *device)
struct i2c_dev *i2c_dev = &nfc_dev->i2c_dev;
if (device_may_wakeup(&client->dev) && i2c_dev->irq_enabled) {
if (!enable_irq_wake(client->irq))
i2c_dev->irq_wake_up = true;
// if (!enable_irq_wake(client->irq))
// i2c_dev->irq_wake_up = true;
i2c_dev->irq_wake_up = true;
}
return 0;
}
@ -459,8 +461,9 @@ int nfc_i2c_dev_resume(struct device *device)
struct i2c_dev *i2c_dev = &nfc_dev->i2c_dev;
if (device_may_wakeup(&client->dev) && i2c_dev->irq_wake_up) {
if (!disable_irq_wake(client->irq))
i2c_dev->irq_wake_up = false;
// if (!disable_irq_wake(client->irq))
// i2c_dev->irq_wake_up = false;
i2c_dev->irq_wake_up = false;
}
return 0;
}