From b9f4f20c630b384f5c30b2bab9a9fbc0817aef9e Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Thu, 11 Nov 2010 01:03:00 -0800 Subject: [PATCH] --- yaml --- r: 227087 b: refs/heads/master c: 10ee2ded629b1571cef1182728d6f65dbe4c7f79 h: refs/heads/master i: 227085: e0e25abb1f1e84f2437f9c80e5cfcd7864b9335a 227083: 25c3f425de45981ee0d90712a32b6ad79451d1c6 227079: f19c03334308eed139c2cf4a69a90cac8e02cb67 227071: dc3b82e1c6c1a5b11809d1fa965586c94cc1fbf1 v: v3 --- [refs] | 2 +- trunk/drivers/input/misc/pcf8574_keypad.c | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index db42a282f000..a7ec669d4e84 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2a0591596b302adc654a1caf6bd3d0063407ea4b +refs/heads/master: 10ee2ded629b1571cef1182728d6f65dbe4c7f79 diff --git a/trunk/drivers/input/misc/pcf8574_keypad.c b/trunk/drivers/input/misc/pcf8574_keypad.c index d1583aea1721..08be1a355956 100644 --- a/trunk/drivers/input/misc/pcf8574_keypad.c +++ b/trunk/drivers/input/misc/pcf8574_keypad.c @@ -169,19 +169,29 @@ static int __devexit pcf8574_kp_remove(struct i2c_client *client) } #ifdef CONFIG_PM -static int pcf8574_kp_resume(struct i2c_client *client) +static int pcf8574_kp_resume(struct device *dev) { + struct i2c_client *client = to_i2c_client(dev); + enable_irq(client->irq); return 0; } -static int pcf8574_kp_suspend(struct i2c_client *client, pm_message_t mesg) +static int pcf8574_kp_suspend(struct device *dev) { + struct i2c_client *client = to_i2c_client(dev); + disable_irq(client->irq); return 0; } + +static const struct dev_pm_ops pcf8574_kp_pm_ops = { + .suspend = pcf8574_kp_suspend, + .resume = pcf8574_kp_resume, +}; + #else # define pcf8574_kp_resume NULL # define pcf8574_kp_suspend NULL @@ -197,11 +207,12 @@ static struct i2c_driver pcf8574_kp_driver = { .driver = { .name = DRV_NAME, .owner = THIS_MODULE, +#ifdef CONFIG_PM + .pm = &pcf8574_kp_pm_ops, +#endif }, .probe = pcf8574_kp_probe, .remove = __devexit_p(pcf8574_kp_remove), - .suspend = pcf8574_kp_suspend, - .resume = pcf8574_kp_resume, .id_table = pcf8574_kp_id, };