Input: cy8ctmg110_ts - let I2C core configure wake interrupt
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Sun, 6 Jun 2021 00:05:00 +0000 (17:05 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sun, 6 Jun 2021 03:34:11 +0000 (20:34 -0700)
I2C core already configures interrupt as wakeup source when device is
registered using I2C_CLIENT_WAKE flag, so let's rely on it instead of
configuring it ourselves.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20210603043726.3793876-4-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/cy8ctmg110_ts.c

index d83bf82..f8d7ab3 100644 (file)
@@ -254,12 +254,11 @@ static int __maybe_unused cy8ctmg110_suspend(struct device *dev)
        struct i2c_client *client = to_i2c_client(dev);
        struct cy8ctmg110 *ts = i2c_get_clientdata(client);
 
-       if (device_may_wakeup(&client->dev))
-               enable_irq_wake(client->irq);
-       else {
+       if (!device_may_wakeup(&client->dev)) {
                cy8ctmg110_set_sleepmode(ts, true);
                cy8ctmg110_power(ts, false);
        }
+
        return 0;
 }
 
@@ -268,12 +267,11 @@ static int __maybe_unused cy8ctmg110_resume(struct device *dev)
        struct i2c_client *client = to_i2c_client(dev);
        struct cy8ctmg110 *ts = i2c_get_clientdata(client);
 
-       if (device_may_wakeup(&client->dev))
-               disable_irq_wake(client->irq);
-       else {
+       if (!device_may_wakeup(&client->dev)) {
                cy8ctmg110_power(ts, true);
                cy8ctmg110_set_sleepmode(ts, false);
        }
+
        return 0;
 }