Input: ads7846 - convert to dev_pm_ops

There is a move to deprecate bus-specific PM operations and move to
using dev_pm_ops instead in order to reduce the amount of boilerplate
code in buses and facilitate updates to the PM core. Do this move for
the ads7846 driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
Mark Brown 2011-01-20 22:51:26 -08:00 committed by Dmitry Torokhov
parent c7848c8e1a
commit 3c36e71903
1 changed files with 10 additions and 6 deletions

View File

@ -26,6 +26,7 @@
#include <linux/input.h> #include <linux/input.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/pm.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <linux/spi/ads7846.h> #include <linux/spi/ads7846.h>
@ -892,9 +893,10 @@ static irqreturn_t ads7846_irq(int irq, void *handle)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
static int ads7846_suspend(struct spi_device *spi, pm_message_t message) #ifdef CONFIG_PM_SLEEP
static int ads7846_suspend(struct device *dev)
{ {
struct ads7846 *ts = dev_get_drvdata(&spi->dev); struct ads7846 *ts = dev_get_drvdata(dev);
mutex_lock(&ts->lock); mutex_lock(&ts->lock);
@ -914,9 +916,9 @@ static int ads7846_suspend(struct spi_device *spi, pm_message_t message)
return 0; return 0;
} }
static int ads7846_resume(struct spi_device *spi) static int ads7846_resume(struct device *dev)
{ {
struct ads7846 *ts = dev_get_drvdata(&spi->dev); struct ads7846 *ts = dev_get_drvdata(dev);
mutex_lock(&ts->lock); mutex_lock(&ts->lock);
@ -935,6 +937,9 @@ static int ads7846_resume(struct spi_device *spi)
return 0; return 0;
} }
#endif
static SIMPLE_DEV_PM_OPS(ads7846_pm, ads7846_suspend, ads7846_resume);
static int __devinit ads7846_setup_pendown(struct spi_device *spi, struct ads7846 *ts) static int __devinit ads7846_setup_pendown(struct spi_device *spi, struct ads7846 *ts)
{ {
@ -1402,11 +1407,10 @@ static struct spi_driver ads7846_driver = {
.name = "ads7846", .name = "ads7846",
.bus = &spi_bus_type, .bus = &spi_bus_type,
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = &ads7846_pm,
}, },
.probe = ads7846_probe, .probe = ads7846_probe,
.remove = __devexit_p(ads7846_remove), .remove = __devexit_p(ads7846_remove),
.suspend = ads7846_suspend,
.resume = ads7846_resume,
}; };
static int __init ads7846_init(void) static int __init ads7846_init(void)