Input: mpr121 - drop redundant wakeup handling
authorbui duc phuc <phucduc.bui@gmail.com>
Mon, 9 Mar 2026 07:14:13 +0000 (14:14 +0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 11 Mar 2026 00:05:50 +0000 (17:05 -0700)
The driver currently calls device_init_wakeup() and manually toggles
IRQ wake in suspend and resume paths. This is unnecessary since the
I2C core already handles wakeup configuration when the device is
described in Device Tree with the "wakeup-source" property.

Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
Link: https://patch.msgid.link/20260309071413.92709-1-phucduc.bui@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/keyboard/mpr121_touchkey.c

index bd1a944..47edc16 100644 (file)
@@ -295,8 +295,6 @@ static int mpr_touchkey_probe(struct i2c_client *client)
                return error;
 
        i2c_set_clientdata(client, mpr121);
-       device_init_wakeup(dev,
-                       device_property_read_bool(dev, "wakeup-source"));
 
        return 0;
 }
@@ -305,9 +303,6 @@ static int mpr_suspend(struct device *dev)
 {
        struct i2c_client *client = to_i2c_client(dev);
 
-       if (device_may_wakeup(&client->dev))
-               enable_irq_wake(client->irq);
-
        i2c_smbus_write_byte_data(client, ELECTRODE_CONF_ADDR, 0x00);
 
        return 0;
@@ -318,9 +313,6 @@ static int mpr_resume(struct device *dev)
        struct i2c_client *client = to_i2c_client(dev);
        struct mpr121_touchkey *mpr121 = i2c_get_clientdata(client);
 
-       if (device_may_wakeup(&client->dev))
-               disable_irq_wake(client->irq);
-
        i2c_smbus_write_byte_data(client, ELECTRODE_CONF_ADDR,
                                  mpr121->keycount);