diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2016-12-06 21:03:13 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-12-06 21:03:12 -0800 |
| commit | 47adc88bf673bcd81f8dde70462e2e77ff9dc9e7 (patch) | |
| tree | 1b7354417ab07686eb1abfccda854b0f6fe58ca8 | |
| parent | cf4badde3315ad36bbb4b672cc1aeecf34d65e80 (diff) | |
| parent | 92a038f91622b0a3585b67abce9d5c0c644115e9 (diff) | |
Merge "input: misc: add condition check for ddic reset"
| -rw-r--r-- | drivers/input/misc/hbtp_input.c | 17 |
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; |
