diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-13 09:58:14 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-13 09:58:14 -0800 |
commit | d24450e2075b9ceeef8ad942e6391bc73eae6933 (patch) | |
tree | f8966325219aa28089f9d3dc944433c5658168ab /drivers/input/touchscreen/ad7879-i2c.c | |
parent | 5cb2fad28fd8f95e911bed8c9342435a5b8e67de (diff) | |
parent | 01c728a246a1072fe9664b91179a47937182b0a0 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: add SW_ROTATE_LOCK switch type
Input: fix force feedback capability query example
Input: wacom_w8001 - add single-touch support
Input: add Austria Microsystem AS5011 joystick driver
Input: remove aaed2000 keyboard driver
Input: i8042 - introduce 'notimeout' blacklist for Dell Vostro V13
Input: cy8ctmg110_ts - Convert to dev_pm_ops
Input: migor_ts - convert to dev_pm_ops
Input: mcs5000_ts - convert to dev_pm_ops
Input: eeti_ts - convert to dev_pm_ops
Input: ad7879 - convert I2C to dev_pm_ops
Diffstat (limited to 'drivers/input/touchscreen/ad7879-i2c.c')
-rw-r--r-- | drivers/input/touchscreen/ad7879-i2c.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/input/touchscreen/ad7879-i2c.c b/drivers/input/touchscreen/ad7879-i2c.c index d82a38ee9a3..4e4e58cec6c 100644 --- a/drivers/input/touchscreen/ad7879-i2c.c +++ b/drivers/input/touchscreen/ad7879-i2c.c @@ -10,14 +10,16 @@ #include <linux/i2c.h> #include <linux/module.h> #include <linux/types.h> +#include <linux/pm.h> #include "ad7879.h" #define AD7879_DEVID 0x79 /* AD7879-1/AD7889-1 */ #ifdef CONFIG_PM -static int ad7879_i2c_suspend(struct i2c_client *client, pm_message_t message) +static int ad7879_i2c_suspend(struct device *dev) { + struct i2c_client *client = to_i2c_client(dev); struct ad7879 *ts = i2c_get_clientdata(client); ad7879_suspend(ts); @@ -25,17 +27,17 @@ static int ad7879_i2c_suspend(struct i2c_client *client, pm_message_t message) return 0; } -static int ad7879_i2c_resume(struct i2c_client *client) +static int ad7879_i2c_resume(struct device *dev) { + struct i2c_client *client = to_i2c_client(dev); struct ad7879 *ts = i2c_get_clientdata(client); ad7879_resume(ts); return 0; } -#else -# define ad7879_i2c_suspend NULL -# define ad7879_i2c_resume NULL + +static SIMPLE_DEV_PM_OPS(ad7879_i2c_pm, ad7879_i2c_suspend, ad7879_i2c_resume); #endif /* All registers are word-sized. @@ -117,11 +119,12 @@ static struct i2c_driver ad7879_i2c_driver = { .driver = { .name = "ad7879", .owner = THIS_MODULE, +#ifdef CONFIG_PM + .pm = &ad7879_i2c_pm, +#endif }, .probe = ad7879_i2c_probe, .remove = __devexit_p(ad7879_i2c_remove), - .suspend = ad7879_i2c_suspend, - .resume = ad7879_i2c_resume, .id_table = ad7879_id, }; |