]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
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 bd1a944ded46fd0f278fb1c1f1696b7e11fb6891..47edc161ec7723290a0ae941adac23ca63564627 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);