mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
Input: tca6416-keypad - rely on I2C core to set up suspend/resume
tca6416_keypad_suspend() and tca6416_keypad_resume() only configure device IRQ for wakeup. I2C core already does this by registering interrupt as a wakeup IRQ in case when device is marked as wakeup-enabled, so we can simply remove this code from the driver. Link: https://lore.kernel.org/r/20230724053024.352054-2-dmitry.torokhov@gmail.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
687fe7dfb7
commit
d3176b2926
@ -287,7 +287,6 @@ static int tca6416_keypad_probe(struct i2c_client *client)
|
||||
}
|
||||
|
||||
i2c_set_clientdata(client, chip);
|
||||
device_init_wakeup(&client->dev, 1);
|
||||
|
||||
return 0;
|
||||
|
||||
@ -315,33 +314,9 @@ static void tca6416_keypad_remove(struct i2c_client *client)
|
||||
kfree(chip);
|
||||
}
|
||||
|
||||
static int tca6416_keypad_suspend(struct device *dev)
|
||||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
|
||||
if (device_may_wakeup(dev))
|
||||
enable_irq_wake(client->irq);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tca6416_keypad_resume(struct device *dev)
|
||||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
|
||||
if (device_may_wakeup(dev))
|
||||
disable_irq_wake(client->irq);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static DEFINE_SIMPLE_DEV_PM_OPS(tca6416_keypad_dev_pm_ops,
|
||||
tca6416_keypad_suspend, tca6416_keypad_resume);
|
||||
|
||||
static struct i2c_driver tca6416_keypad_driver = {
|
||||
.driver = {
|
||||
.name = "tca6416-keypad",
|
||||
.pm = pm_sleep_ptr(&tca6416_keypad_dev_pm_ops),
|
||||
},
|
||||
.probe = tca6416_keypad_probe,
|
||||
.remove = tca6416_keypad_remove,
|
||||
|
Loading…
Reference in New Issue
Block a user