Commit 8fb81d20 authored by Oreste Salerno's avatar Oreste Salerno Committed by 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: default avatarOreste Salerno <oreste.salerno@tomtom.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 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%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment