summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/input/misc/hbtp_input.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/input/misc/hbtp_input.c b/drivers/input/misc/hbtp_input.c
index f94ecf02d9cb..05cd1edefb7f 100644
--- a/drivers/input/misc/hbtp_input.c
+++ b/drivers/input/misc/hbtp_input.c
@@ -54,6 +54,7 @@ struct hbtp_data {
struct pinctrl *ts_pinctrl;
struct pinctrl_state *gpio_state_active;
struct pinctrl_state *gpio_state_suspend;
+ bool ddic_rst_enabled;
struct pinctrl_state *ddic_rst_state_active;
struct pinctrl_state *ddic_rst_state_suspend;
u32 ts_pinctrl_seq_delay;
@@ -521,15 +522,17 @@ static int hbtp_pinctrl_enable(struct hbtp_data *ts, bool on)
if (rc < 0)
return -EINVAL;
- rc = hbtp_ddic_rst_select(ts, true);
- if (rc < 0)
- goto err_ddic_rst_pinctrl_enable;
+ if (ts->ddic_rst_enabled) {
+ rc = hbtp_ddic_rst_select(ts, true);
+ if (rc < 0)
+ goto err_ddic_rst_pinctrl_enable;
+ }
return rc;
pinctrl_suspend:
- if (ts->ddic_rst_state_suspend)
- hbtp_ddic_rst_select(ts, true);
+ if (ts->ddic_rst_enabled)
+ hbtp_ddic_rst_select(ts, false);
err_ddic_rst_pinctrl_enable:
hbtp_gpio_select(ts, false);
return rc;
@@ -1078,8 +1081,10 @@ static int hbtp_pinctrl_init(struct hbtp_data *data)
dev_err(&data->pdev->dev, "count(%u) is not same as %u\n",
(u32)count, HBTP_PINCTRL_DDIC_SEQ_NUM);
}
+
+ data->ddic_rst_enabled = true;
} else {
- dev_err(&data->pdev->dev, "ddic pinctrl act/sus not found\n");
+ dev_warn(&data->pdev->dev, "ddic pinctrl act/sus not found\n");
}
data->manage_pin_ctrl = true;