Commit 76e2c68f authored by Mark Brown's avatar Mark Brown Committed by Dmitry Torokhov

Input: max7359 - convert to dev_pm_ops

There is a general move to convert drivers to use dev_pm_ops rather than
bus specific ops to facilitate core work. Do this conversion for max7359.
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 65b0c038
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/pm.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/input/matrix_keypad.h> #include <linux/input/matrix_keypad.h>
...@@ -271,8 +272,10 @@ static int __devexit max7359_remove(struct i2c_client *client) ...@@ -271,8 +272,10 @@ static int __devexit max7359_remove(struct i2c_client *client)
} }
#ifdef CONFIG_PM #ifdef CONFIG_PM
static int max7359_suspend(struct i2c_client *client, pm_message_t mesg) static int max7359_suspend(struct device *dev)
{ {
struct i2c_client *client = to_i2c_client(dev);
max7359_fall_deepsleep(client); max7359_fall_deepsleep(client);
if (device_may_wakeup(&client->dev)) if (device_may_wakeup(&client->dev))
...@@ -281,8 +284,10 @@ static int max7359_suspend(struct i2c_client *client, pm_message_t mesg) ...@@ -281,8 +284,10 @@ static int max7359_suspend(struct i2c_client *client, pm_message_t mesg)
return 0; return 0;
} }
static int max7359_resume(struct i2c_client *client) static int max7359_resume(struct device *dev)
{ {
struct i2c_client *client = to_i2c_client(dev);
if (device_may_wakeup(&client->dev)) if (device_may_wakeup(&client->dev))
disable_irq_wake(client->irq); disable_irq_wake(client->irq);
...@@ -291,11 +296,10 @@ static int max7359_resume(struct i2c_client *client) ...@@ -291,11 +296,10 @@ static int max7359_resume(struct i2c_client *client)
return 0; return 0;
} }
#else
#define max7359_suspend NULL
#define max7359_resume NULL
#endif #endif
static SIMPLE_DEV_PM_OPS(max7359_pm, max7359_suspend, max7359_resume);
static const struct i2c_device_id max7359_ids[] = { static const struct i2c_device_id max7359_ids[] = {
{ "max7359", 0 }, { "max7359", 0 },
{ } { }
...@@ -305,11 +309,10 @@ MODULE_DEVICE_TABLE(i2c, max7359_ids); ...@@ -305,11 +309,10 @@ MODULE_DEVICE_TABLE(i2c, max7359_ids);
static struct i2c_driver max7359_i2c_driver = { static struct i2c_driver max7359_i2c_driver = {
.driver = { .driver = {
.name = "max7359", .name = "max7359",
.pm = &max7359_pm,
}, },
.probe = max7359_probe, .probe = max7359_probe,
.remove = __devexit_p(max7359_remove), .remove = __devexit_p(max7359_remove),
.suspend = max7359_suspend,
.resume = max7359_resume,
.id_table = max7359_ids, .id_table = max7359_ids,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment