提交 8fb81d20 编写于 作者: O Oreste Salerno 提交者: Dmitry Torokhov

Input: cyttsp - perform hard reset of the chip during probe

Since we removed support for calling an init() callback from
the platform data, introduce a function which initializes
the chip by performing a hard reset, using the reset gpio
defined in the device properties.
Signed-off-by: NOreste Salerno <oreste.salerno@tomtom.com>
Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
上级 707b61bb
......@@ -240,6 +240,16 @@ static int cyttsp_set_sysinfo_regs(struct cyttsp *ts)
return retval;
}
static void cyttsp_hard_reset(struct cyttsp *ts)
{
if (ts->reset_gpio) {
gpiod_set_value_cansleep(ts->reset_gpio, 1);
msleep(CY_DELAY_DFLT);
gpiod_set_value_cansleep(ts->reset_gpio, 0);
msleep(CY_DELAY_DFLT);
}
}
static int cyttsp_soft_reset(struct cyttsp *ts)
{
unsigned long timeout;
......@@ -666,6 +676,8 @@ struct cyttsp *cyttsp_probe(const struct cyttsp_bus_ops *bus_ops,
disable_irq(ts->irq);
cyttsp_hard_reset(ts);
error = cyttsp_power_on(ts);
if (error)
return ERR_PTR(error);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册