From 38b39ae895041b517554d0da2c02312535fd00ee Mon Sep 17 00:00:00 2001 From: hujing3 Date: Mon, 1 Apr 2019 10:32:56 +0800 Subject: [PATCH] DLKM: focaltech tp reset seq optimize focaltech tp reset seq optimize There are two tp reset seq when display on, optimze it. Change-Id: I73187aa0d9efd3c7659951e6942ef2b4ecb53185 Signed-off-by: hujing3 Reviewed-on: https://gerrit.mot.com/1330402 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Wei Deng Reviewed-by: Xiangpo Zhao Submit-Approved: Jira Key --- .../touchscreen/focaltech_mmi/focaltech_ts.c | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/drivers/input/touchscreen/focaltech_mmi/focaltech_ts.c b/drivers/input/touchscreen/focaltech_mmi/focaltech_ts.c index f6e73754fc73..928440458ffc 100644 --- a/drivers/input/touchscreen/focaltech_mmi/focaltech_ts.c +++ b/drivers/input/touchscreen/focaltech_mmi/focaltech_ts.c @@ -1272,14 +1272,24 @@ static int ft_ts_start(struct device *dev) dev_err(dev, "Cannot get active pinctrl state\n"); } - err = ft_gpio_configure(data, true); - if (err < 0) { - dev_err(&data->client->dev, - "failed to put gpios in resue state\n"); - goto err_gpio_configuration; - } - if (gpio_is_valid(data->pdata->reset_gpio)) { + err = gpio_request(data->pdata->reset_gpio, + "ft_reset_gpio"); + if (err) { + dev_err(&data->client->dev, + "reset gpio request failed"); + goto err_gpio_configuration; + } + + err = gpio_direction_output(data->pdata->reset_gpio, 0); + if (err) { + dev_err(&data->client->dev, + "set_direction for reset gpio failed\n"); + if (gpio_is_valid(data->pdata->reset_gpio)) + gpio_free(data->pdata->reset_gpio); + goto err_gpio_configuration; + } + gpio_set_value_cansleep(data->pdata->reset_gpio, 0); usleep_range(800, 1000); if (data->regulator_en) {