Input: tsc2005 - use spi_get/set_drvdata()
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 17 Mar 2011 05:08:08 +0000 (22:08 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 17 Mar 2011 06:27:57 +0000 (23:27 -0700)
Instead of peeking into underlying device and using dev_get/set_drvdata(),
let's use SPI layer's implementation to access driver-private data
(which may be different from driver-core private data).

Tested-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/touchscreen/tsc2005.c

index f95f968f18e1cac68c68cd4df26ab6d11775b9ec..5dad30a4b15368bb5444a99d8f53e071275a0969 100644 (file)
@@ -366,7 +366,8 @@ static void tsc2005_enable(struct tsc2005 *ts)
 static ssize_t tsc2005_disable_show(struct device *dev,
                                    struct device_attribute *attr, char *buf)
 {
-       struct tsc2005 *ts = dev_get_drvdata(dev);
+       struct spi_device *spi = to_spi_device(dev);
+       struct tsc2005 *ts = spi_get_drvdata(spi);
 
        return sprintf(buf, "%u\n", ts->disabled);
 }
@@ -375,7 +376,8 @@ static ssize_t tsc2005_disable_store(struct device *dev,
                                     struct device_attribute *attr,
                                     const char *buf, size_t count)
 {
-       struct tsc2005 *ts = dev_get_drvdata(dev);
+       struct spi_device *spi = to_spi_device(dev);
+       struct tsc2005 *ts = spi_get_drvdata(spi);
        unsigned long res;
        int i;
 
@@ -401,7 +403,8 @@ static ssize_t tsc2005_selftest_show(struct device *dev,
                                     struct device_attribute *attr,
                                     char *buf)
 {
-       struct tsc2005 *ts = dev_get_drvdata(dev);
+       struct spi_device *spi = to_spi_device(dev);
+       struct tsc2005 *ts = spi_get_drvdata(spi);
        u16 temp_high;
        u16 temp_high_orig;
        u16 temp_high_test;
@@ -620,7 +623,7 @@ static int __devinit tsc2005_probe(struct spi_device *spi)
        if (ts == NULL)
                return -ENOMEM;
 
-       dev_set_drvdata(&spi->dev, ts);
+       spi_set_drvdata(spi, ts);
        ts->spi = spi;
        spi->dev.power.power_state = PMSG_ON;
        spi->mode = SPI_MODE_0;
@@ -637,7 +640,7 @@ static int __devinit tsc2005_probe(struct spi_device *spi)
 
 static int __devexit tsc2005_remove(struct spi_device *spi)
 {
-       struct tsc2005 *ts = dev_get_drvdata(&spi->dev);
+       struct tsc2005 *ts = spi_get_drvdata(spi);
 
        mutex_lock(&ts->mutex);
        tsc2005_disable(ts);
@@ -661,7 +664,8 @@ static int __devexit tsc2005_remove(struct spi_device *spi)
 #ifdef CONFIG_PM
 static int tsc2005_suspend(struct spi_device *spi, pm_message_t mesg)
 {
-       struct tsc2005 *ts = dev_get_drvdata(&spi->dev);
+       struct spi_device *spi = to_spi_device(dev);
+       struct tsc2005 *ts = spi_get_drvdata(spi);
 
        mutex_lock(&ts->mutex);
        tsc2005_disable(ts);
@@ -672,7 +676,8 @@ static int tsc2005_suspend(struct spi_device *spi, pm_message_t mesg)
 
 static int tsc2005_resume(struct spi_device *spi)
 {
-       struct tsc2005 *ts = dev_get_drvdata(&spi->dev);
+       struct spi_device *spi = to_spi_device(dev);
+       struct tsc2005 *ts = spi_get_drvdata(spi);
 
        mutex_lock(&ts->mutex);
        tsc2005_enable(ts);