Input: tsc2005 - remove 'disable' sysfs attribute
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 17 Mar 2011 05:11:41 +0000 (22:11 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 17 Mar 2011 06:29:33 +0000 (23:29 -0700)
I believe that enable/disable functionality should not be implemented on
the individual driver level but rather in device core, potentially
reusing parts of PM framework. Therefore the driver-specific "disable"
attribute is removed from the mainline driver.

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

index 3e1c9c297f33051783b85f983c244775a4e44264..87420616efa49cf7437614745b31230a0e4b2750 100644 (file)
@@ -138,7 +138,6 @@ struct tsc2005 {
 
        unsigned int            x_plate_ohm;
 
-       bool                    disabled;
        bool                    opened;
        bool                    suspended;
 
@@ -365,48 +364,6 @@ static void __tsc2005_enable(struct tsc2005 *ts)
 
 }
 
-static ssize_t tsc2005_disable_show(struct device *dev,
-                                   struct device_attribute *attr, char *buf)
-{
-       struct spi_device *spi = to_spi_device(dev);
-       struct tsc2005 *ts = spi_get_drvdata(spi);
-
-       return sprintf(buf, "%u\n", ts->disabled);
-}
-
-static ssize_t tsc2005_disable_store(struct device *dev,
-                                    struct device_attribute *attr,
-                                    const char *buf, size_t count)
-{
-       struct spi_device *spi = to_spi_device(dev);
-       struct tsc2005 *ts = spi_get_drvdata(spi);
-       unsigned long val;
-       int error;
-
-       error = strict_strtoul(buf, 10, &val);
-       if (error)
-               return error;
-
-       mutex_lock(&ts->mutex);
-
-       if (!ts->suspended && ts->opened) {
-               if (val) {
-                       if (!ts->disabled)
-                               __tsc2005_disable(ts);
-               } else {
-                       if (ts->disabled)
-                               __tsc2005_enable(ts);
-               }
-       }
-
-       ts->disabled = !!val;
-
-       mutex_unlock(&ts->mutex);
-
-       return count;
-}
-static DEVICE_ATTR(disable, 0664, tsc2005_disable_show, tsc2005_disable_store);
-
 static ssize_t tsc2005_selftest_show(struct device *dev,
                                     struct device_attribute *attr,
                                     char *buf)
@@ -489,7 +446,6 @@ out:
 static DEVICE_ATTR(selftest, S_IRUGO, tsc2005_selftest_show, NULL);
 
 static struct attribute *tsc2005_attrs[] = {
-       &dev_attr_disable.attr,
        &dev_attr_selftest.attr,
        NULL
 };
@@ -567,7 +523,7 @@ static int tsc2005_open(struct input_dev *input)
 
        mutex_lock(&ts->mutex);
 
-       if (!ts->suspended && !ts->disabled)
+       if (!ts->suspended)
                __tsc2005_enable(ts);
 
        ts->opened = true;
@@ -583,7 +539,7 @@ static void tsc2005_close(struct input_dev *input)
 
        mutex_lock(&ts->mutex);
 
-       if (!ts->suspended && !ts->disabled)
+       if (!ts->suspended)
                __tsc2005_disable(ts);
 
        ts->opened = false;
@@ -743,7 +699,7 @@ static int tsc2005_suspend(struct device *dev)
 
        mutex_lock(&ts->mutex);
 
-       if (!ts->suspended && !ts->disabled && ts->opened)
+       if (!ts->suspended && ts->opened)
                __tsc2005_disable(ts);
 
        ts->suspended = true;
@@ -760,7 +716,7 @@ static int tsc2005_resume(struct device *dev)
 
        mutex_lock(&ts->mutex);
 
-       if (ts->suspended && !ts->disabled && ts->opened)
+       if (ts->suspended && ts->opened)
                __tsc2005_enable(ts);
 
        ts->suspended = false;