#define ENABLED_PATH "/device/enabled"
#define TOUCHSCREEN_CAPABILITY 400
+#define TOUCH_POWERSAVING_NODE "/sys/class/sec/tsp/mode"
+
#define TURNON_TOUCHSCREEN 1
#define TURNOFF_TOUCHSCREEN 0
return ret;
}
+static int touchscreen_get_powersaving(int *data)
+{
+ int ret, state;
+
+ if (!data)
+ return -EINVAL;
+
+ ret = sys_get_int(TOUCH_POWERSAVING_NODE, &state);
+ if (ret < 0) {
+ _E("Failed to get touchscreen powersaving status.");
+ return ret;
+ }
+
+ *data = state;
+ return ret;
+}
+
+static int touchscreen_set_powersaving(int state)
+{
+ int ret;
+
+ ret = sys_set_int(TOUCH_POWERSAVING_NODE, state);
+ if (ret < 0)
+ _E("Failed to set touchscreen powersaving status.");
+
+ return ret;
+}
+
static int touchscreen_open(struct hw_info *info,
const char *id, struct hw_common **common)
{
touchscreen_dev->common.info = info;
touchscreen_dev->get_state = touchscreen_get_state;
touchscreen_dev->set_state = touchscreen_set_state;
+ touchscreen_dev->get_powersaving = touchscreen_get_powersaving;
+ touchscreen_dev->set_powersaving = touchscreen_set_powersaving;
*common = (struct hw_common *)touchscreen_dev;
return 0;