Input: usbtouchscreen - support DMC devices with empty EEPROM
authorDaniel Ritz <daniel.ritz-ml@swissonline.ch>
Mon, 10 Sep 2007 05:31:40 +0000 (01:31 -0400)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 10 Sep 2007 05:31:40 +0000 (01:31 -0400)
A reply of 0x0600 means all OK, 0x1501 means OK, but EEPROM empty.
The behavior with an empty EEPROM is the same as without one at all
so do not fail loading the driver.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/touchscreen/usbtouchscreen.c

index 796b837deeeada9130a76d1ae48646690f21395f..13fbda0895b51a94904c89b707e01a896b820bdf 100644 (file)
@@ -402,7 +402,8 @@ static int dmc_tsc10_init(struct usbtouch_usb *usbtouch)
                              TSC10_RATE_150, 0, buf, 2, USB_CTRL_SET_TIMEOUT);
        if (ret < 0)
                return ret;
-       if (buf[0] != 0x06 || buf[1] != 0x00)
+       if ((buf[0] != 0x06 || buf[1] != 0x00) &&
+           (buf[0] != 0x15 || buf[1] != 0x01))
                return -ENODEV;
 
        /* start sending data */