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: Oreste Salerno <oreste.salerno@tomtom.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
Родитель
707b61bba8
Коммит
8fb81d2001
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче