Commit 3c36e719 authored by Mark Brown's avatar Mark Brown Committed by Dmitry Torokhov

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: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: default avatarMichael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent c7848c8e
...@@ -26,6 +26,7 @@ ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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 = { ...@@ -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)
......
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