Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <linux/input.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <linux/pm.h>
#include <linux/gpio.h>
#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>
@@ -892,9 +893,10 @@ static irqreturn_t ads7846_irq(int irq, void *handle)
	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);

@@ -914,9 +916,9 @@ static int ads7846_suspend(struct spi_device *spi, pm_message_t message)
	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);

@@ -935,6 +937,9 @@ static int ads7846_resume(struct spi_device *spi)

	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)
{
@@ -1402,11 +1407,10 @@ static struct spi_driver ads7846_driver = {
		.name	= "ads7846",
		.bus	= &spi_bus_type,
		.owner	= THIS_MODULE,
		.pm	= &ads7846_pm,
	},
	.probe		= ads7846_probe,
	.remove		= __devexit_p(ads7846_remove),
	.suspend	= ads7846_suspend,
	.resume		= ads7846_resume,
};

static int __init ads7846_init(void)