The first thing the Cypress driver does when starting
up is to try a soft reset. This is the first point where
the driver SPI/I2C communication can fail, so put out some
nice debug text:
cyttsp-spi spi2.0: failed to send soft reset
Instead of just:
cyttsp-spi: probe of spi2.0 failed with error -5
This is more helpful.
Cc: Ferruh Yigit <redacted>
Signed-off-by: Linus Walleij <redacted>
---
drivers/input/touchscreen/cyttsp_core.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Hi Linus,
On Mon, Mar 22, 2021 at 11:13:49PM +0100, Linus Walleij wrote:
quoted hunk
The first thing the Cypress driver does when starting
up is to try a soft reset. This is the first point where
the driver SPI/I2C communication can fail, so put out some
nice debug text:
cyttsp-spi spi2.0: failed to send soft reset
Instead of just:
cyttsp-spi: probe of spi2.0 failed with error -5
This is more helpful.
Cc: Ferruh Yigit <redacted>
Signed-off-by: Linus Walleij <redacted>
---
drivers/input/touchscreen/cyttsp_core.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
@@ -248,12 +248,16 @@ static int cyttsp_soft_reset(struct cyttsp *ts)enable_irq(ts->irq);retval=ttsp_send_command(ts,CY_SOFT_RESET_MODE);-if(retval)+if(retval){+dev_err(ts->dev,"failed to send soft reset\n");gotoout;+}timeout=wait_for_completion_timeout(&ts->bl_ready,msecs_to_jiffies(CY_DELAY_DFLT*CY_DELAY_MAX));retval=timeout?0:-EIO;+if(retval)+dev_err(ts->dev,"timeout waiting for soft reset\n");
I think if we have conditional for the error message then having ternary
above does not make sense. I changed this to:
if (!wait_for_completion_timeout(&ts->bl_ready,
msecs_to_jiffies(CY_DELAY_DFLT * CY_DELAY_MAX))) {
dev_err(ts->dev, "timeout waiting for soft reset\n");
retval = -EIO;
}
Thanks.
--
Dmitry