OSDN Git Service

synaptics_dsx_force: do not reinit the device upon suspend/resume
authorXiaonian Wang <xiaonian@codeaurora.org>
Fri, 15 Apr 2016 11:34:12 +0000 (19:34 +0800)
committerArian <arian.kulmer@web.de>
Tue, 19 Nov 2019 15:24:30 +0000 (16:24 +0100)
There is no need to reinit the device when suspend, resume or even an
spontaneous reset is detected, touch will recover by itself.

CRs-Fixed: 1003951
Change-Id: Ifb5b134d0fbeb2f55f16af8806abb9c8e51c35e0

drivers/input/touchscreen/synaptics_dsx_force/synaptics_dsx_core.c

index 242d78e..2f97a1e 100644 (file)
 static int synaptics_rmi4_check_status(struct synaptics_rmi4_data *rmi4_data,
                bool *was_in_bl_mode);
 static int synaptics_rmi4_free_fingers(struct synaptics_rmi4_data *rmi4_data);
-static int synaptics_rmi4_reinit_device(struct synaptics_rmi4_data *rmi4_data);
+static void synaptics_rmi4_set_configured(struct synaptics_rmi4_data *rmi4_data);
 static int synaptics_rmi4_reset_device(struct synaptics_rmi4_data *rmi4_data,
                bool rebuild);
 static void synaptics_rmi4_sleep_enable(struct synaptics_rmi4_data *rmi4_data,
@@ -2007,12 +2007,7 @@ static void synaptics_rmi4_sensor_report(struct synaptics_rmi4_data *rmi4_data,
        }
        if (status.unconfigured && !status.flash_prog) {
                pr_notice("%s: spontaneous reset detected\n", __func__);
-               retval = synaptics_rmi4_reinit_device(rmi4_data);
-               if (retval < 0) {
-                       dev_err(rmi4_data->pdev->dev.parent,
-                                       "%s: Failed to reinit device\n",
-                                       __func__);
-               }
+               synaptics_rmi4_set_configured(rmi4_data);
        }
 
        if (!report)
@@ -4562,49 +4557,6 @@ exit:
        return;
 }
 
-static int synaptics_rmi4_reinit_device(struct synaptics_rmi4_data *rmi4_data)
-{
-       int retval;
-       struct synaptics_rmi4_fn *fhandler;
-       struct synaptics_rmi4_exp_fhandler *exp_fhandler;
-       struct synaptics_rmi4_device_info *rmi;
-
-       rmi = &(rmi4_data->rmi4_mod_info);
-
-       mutex_lock(&(rmi4_data->rmi4_reset_mutex));
-
-       synaptics_rmi4_free_fingers(rmi4_data);
-
-       if (!list_empty(&rmi->support_fn_list)) {
-               list_for_each_entry(fhandler, &rmi->support_fn_list, link) {
-                       if (fhandler->fn_number == SYNAPTICS_RMI4_F12) {
-                               synaptics_rmi4_f12_set_enables(rmi4_data, 0);
-                               break;
-                       }
-               }
-       }
-
-       retval = synaptics_rmi4_int_enable(rmi4_data, true);
-       if (retval < 0)
-               goto exit;
-
-       mutex_lock(&exp_data.mutex);
-       if (!list_empty(&exp_data.list)) {
-               list_for_each_entry(exp_fhandler, &exp_data.list, link)
-                       if (exp_fhandler->exp_fn->reinit != NULL)
-                               exp_fhandler->exp_fn->reinit(rmi4_data);
-       }
-       mutex_unlock(&exp_data.mutex);
-
-       synaptics_rmi4_set_configured(rmi4_data);
-
-       retval = 0;
-
-exit:
-       mutex_unlock(&(rmi4_data->rmi4_reset_mutex));
-       return retval;
-}
-
 static int synaptics_rmi4_reset_device(struct synaptics_rmi4_data *rmi4_data,
                bool rebuild)
 {