summaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2011-03-16 22:11:41 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2011-03-16 23:29:33 -0700
commit5cb81d19bae47adcb073a5e5a3bc40dd252f239e (patch)
tree0410b9b2fa3742641a9e0099aa7b8262f816fa00 /drivers/input
parent0b950d3d7ce4c1e870b8efc4ae0faaf0ef53532c (diff)
downloadlinux-5cb81d19bae47adcb073a5e5a3bc40dd252f239e.tar.bz2
Input: tsc2005 - remove 'disable' sysfs attribute
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>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/touchscreen/tsc2005.c52
1 files changed, 4 insertions, 48 deletions
diff --git a/drivers/input/touchscreen/tsc2005.c b/drivers/input/touchscreen/tsc2005.c
index 3e1c9c297f33..87420616efa4 100644
--- a/drivers/input/touchscreen/tsc2005.c
+++ b/drivers/input/touchscreen/tsc2005.c
@@ -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;