summaryrefslogtreecommitdiff
path: root/drivers/input
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/touchscreen/rm31080a_ts.c31
1 files changed, 17 insertions, 14 deletions
diff --git a/drivers/input/touchscreen/rm31080a_ts.c b/drivers/input/touchscreen/rm31080a_ts.c
index b2d4e667a98c..52586948f5be 100644
--- a/drivers/input/touchscreen/rm31080a_ts.c
+++ b/drivers/input/touchscreen/rm31080a_ts.c
@@ -397,7 +397,6 @@ void raydium_change_scan_mode(u8 u8_touch_count)
u16_nt_count_thd = (u16)g_st_ctrl.u8_time2idle * 100;
if (u8_touch_count) {
-
u32_no_touch_count = 0;
return;
}
@@ -522,8 +521,8 @@ void raydium_report_pointer(void *p)
u8_last_touch_count = sp_tp->uc_touch_count;
}
- if (g_st_ctrl.u8_power_mode)
- raydium_change_scan_mode(sp_tp->uc_touch_count);
+ /*if (g_st_ctrl.u8_power_mode)
+ raydium_change_scan_mode(sp_tp->uc_touch_count); */
kfree(sp_tp);
}
@@ -562,8 +561,8 @@ void raydium_report_pointer(void *p)
i_count = max(u8_last_touch_count, sp_tp->uc_touch_count);
if (!i_count) {
- if (g_st_ctrl.u8_power_mode)
- raydium_change_scan_mode(sp_tp->uc_touch_count);
+ /*if (g_st_ctrl.u8_power_mode)
+ raydium_change_scan_mode(sp_tp->uc_touch_count);*/
kfree(sp_tp);
return;
}
@@ -683,8 +682,8 @@ void raydium_report_pointer(void *p)
u8_last_touch_count = sp_tp->uc_touch_count;
input_sync(g_input_dev);
- if (g_st_ctrl.u8_power_mode)
- raydium_change_scan_mode(sp_tp->uc_touch_count);
+ /*if (g_st_ctrl.u8_power_mode)
+ raydium_change_scan_mode(sp_tp->uc_touch_count);*/
kfree(sp_tp);
}
@@ -1740,6 +1739,7 @@ static void rm_tch_init_ts_structure_part(void)
g_st_ts.b_init_finish = 0;
g_st_ts.b_calc_finish = 0;
g_st_ts.b_enable_scriber = 0;
+ g_st_ts.b_is_suspended = 0;
#ifdef ENABLE_SLOW_SCAN
g_st_ts.b_enable_slow_scan = false;
#endif
@@ -1753,9 +1753,6 @@ static void rm_tch_init_ts_structure_part(void)
g_st_ts.u16_read_para = 0;
rm_ctrl_watchdog_func(0);
- if (g_st_ts.b_is_suspended == false)
- rm_tch_ctrl_init();
- g_st_ts.b_is_suspended = 0;
b_bl_updated = false;
}
@@ -2011,7 +2008,7 @@ static ssize_t rm_tch_touchfile_check_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{
- return sprintf(buf, "0x%x\n",
+ return sprintf(buf, "Touch calibration file check status: 0x%x\n",
g_st_ts.u8_touchfile_check);
}
@@ -2432,7 +2429,7 @@ static irqreturn_t rm_tch_irq(int irq, void *handle)
trace_touchscreen_raydium_irq("Raydium_interrupt");
- if (g_st_ctrl.u8_power_mode &&
+ if (/*g_st_ctrl.u8_power_mode &&*/
(g_st_ts.u8_scan_mode_state == RM_SCAN_IDLE_MODE)) {
input_event(g_input_dev, EV_MSC, MSC_ACTIVITY, 1);
#if (INPUT_PROTOCOL_CURRENT_SUPPORT == INPUT_PROTOCOL_TYPE_B)
@@ -2456,8 +2453,8 @@ static void rm_tch_enter_test_mode(u8 flag)
flush_workqueue(g_st_ts.rm_timer_workqueue);
} else { /*leave test mode*/
g_st_ts.b_selftest_enable = 0;
- rm_tch_init_ts_structure_part();
g_st_ts.b_is_suspended = false;
+ rm_tch_init_ts_structure_part();
}
rm_tch_cmd_process(flag, g_st_rm_testmode_cmd, NULL);
@@ -2481,7 +2478,12 @@ void rm_tch_set_variable(unsigned int index, unsigned int arg)
g_st_ts.b_enable_scriber = (bool) arg;
break;
case RM_VARIABLE_AUTOSCAN_FLAG:
- g_st_ctrl.u8_power_mode = (bool) arg;
+ /*g_st_ctrl.u8_power_mode = (bool) arg;*/
+ if (g_st_ts.u8_scan_mode_state == RM_SCAN_ACTIVE_MODE) {
+ mutex_lock(&g_st_ts.mutex_scan_mode);
+ g_st_ts.u8_scan_mode_state = RM_SCAN_PRE_IDLE_MODE;
+ mutex_unlock(&g_st_ts.mutex_scan_mode);
+ }
break;
case RM_VARIABLE_TEST_VERSION:
g_st_ts.u8_test_version = (u8) arg;
@@ -2623,6 +2625,7 @@ static void rm_tch_init_ts_structure(void)
g_st_ts.u8_resume_cnt = 0;
g_st_ts.u8_touchfile_check = 0xFF;
g_st_ts.u8_stylus_status = 0xFF;
+ rm_tch_ctrl_init();
}
static int rm31080_voltage_notifier_1v8(struct notifier_block *nb,