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 796b837..13fbda0 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 */