diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2011-11-14 00:32:09 -0800 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2011-11-15 22:24:22 -0800 |
commit | 8672bd93d3d67b18a2b067ece30dabcda11f8cde (patch) | |
tree | ba2987ce325f7a3d9b77730f19635bf5b6be0428 /drivers/input/touchscreen/ad7879.c | |
parent | 59bae1db71942dcf91bb7e4938989606095536b5 (diff) | |
download | blackbird-op-linux-8672bd93d3d67b18a2b067ece30dabcda11f8cde.tar.gz blackbird-op-linux-8672bd93d3d67b18a2b067ece30dabcda11f8cde.zip |
Input: ad7879 - consolidate PM methods
The PM methods are basically the same for SPI and I2C busses, so let's
use the same dev_pm_ops for both of them.
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/touchscreen/ad7879.c')
-rw-r--r-- | drivers/input/touchscreen/ad7879.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/drivers/input/touchscreen/ad7879.c b/drivers/input/touchscreen/ad7879.c index 76f5cb4e6ea9..dce60b816b58 100644 --- a/drivers/input/touchscreen/ad7879.c +++ b/drivers/input/touchscreen/ad7879.c @@ -280,8 +280,11 @@ static void ad7879_close(struct input_dev* input) __ad7879_disable(ts); } -void ad7879_suspend(struct ad7879 *ts) +#ifdef CONFIG_PM_SLEEP +static int ad7879_suspend(struct device *dev) { + struct ad7879 *ts = dev_get_drvdata(dev); + mutex_lock(&ts->input->mutex); if (!ts->suspended && !ts->disabled && ts->input->users) @@ -290,11 +293,14 @@ void ad7879_suspend(struct ad7879 *ts) ts->suspended = true; mutex_unlock(&ts->input->mutex); + + return 0; } -EXPORT_SYMBOL(ad7879_suspend); -void ad7879_resume(struct ad7879 *ts) +static int ad7879_resume(struct device *dev) { + struct ad7879 *ts = dev_get_drvdata(dev); + mutex_lock(&ts->input->mutex); if (ts->suspended && !ts->disabled && ts->input->users) @@ -303,8 +309,13 @@ void ad7879_resume(struct ad7879 *ts) ts->suspended = false; mutex_unlock(&ts->input->mutex); + + return 0; } -EXPORT_SYMBOL(ad7879_resume); +#endif + +SIMPLE_DEV_PM_OPS(ad7879_pm_ops, ad7879_suspend, ad7879_resume); +EXPORT_SYMBOL(ad7879_pm_ops); static void ad7879_toggle(struct ad7879 *ts, bool disable) { |