Skip to content

Commit

Permalink
Input: cyttsp - perform hard reset of the chip during probe
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
  • Loading branch information
OresteSalerno-TomTom authored and dtor committed Jan 27, 2016
1 parent 707b61b commit 8fb81d2
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions drivers/input/touchscreen/cyttsp_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 8fb81d2

Please sign in to comment.