diff options
author | michael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2009-01-14 10:29:12 +0000 |
---|---|---|
committer | michael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2009-01-14 10:29:12 +0000 |
commit | be343fa0fc3f7abe007df8391f9c8a86f83dd042 (patch) | |
tree | 2ef82a2068d84846b2b836f2010ea4a4914d9790 | |
parent | 523273d8c8d18e14058ea672353ae1a10dfeead7 (diff) | |
download | lcd4linux-be343fa0fc3f7abe007df8391f9c8a86f83dd042.tar.gz |
add support for Dell M1730 LCD to the G15 driver by lcd4linux@hayward.uk.com
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@964 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to '')
-rw-r--r-- | drv_G15.c | 30 |
1 files changed, 18 insertions, 12 deletions
@@ -56,6 +56,7 @@ #define G15_VENDOR 0x046d #define G15_DEVICE 0xc222 +#define M1730_DEVICE 0xc251 #if 0 #define DEBUG(x) debug("%s(): %s", __FUNCTION__, x); @@ -314,19 +315,24 @@ static int drv_G15_open() for (bus = usb_get_busses(); bus; bus = bus->next) { for (dev = bus->devices; dev; dev = dev->next) { if ((g15_lcd = usb_open(dev))) { - if ((dev->descriptor.idVendor == G15_VENDOR) && (dev->descriptor.idProduct == G15_DEVICE)) { - - /* detach from the kernel if we need to */ - int retval = usb_get_driver_np(g15_lcd, 0, dname, 31); - if (retval == 0 && strcmp(dname, "usbhid") == 0) { - usb_detach_kernel_driver_np(g15_lcd, 0); + if (dev->descriptor.idVendor == G15_VENDOR) { + switch (dev->descriptor.idProduct) { + case G15_DEVICE: + case M1730_DEVICE: + { + /* detach from the kernel if we need to */ + int retval = usb_get_driver_np(g15_lcd, 0, dname, 31); + if (retval == 0 && strcmp(dname, "usbhid") == 0) { + usb_detach_kernel_driver_np(g15_lcd, 0); + } + usb_set_configuration(g15_lcd, 1); + usleep(100); + usb_claim_interface(g15_lcd, 0); + return 0; + } + default: + usb_close(g15_lcd); } - usb_set_configuration(g15_lcd, 1); - usleep(100); - usb_claim_interface(g15_lcd, 0); - return 0; - } else { - usb_close(g15_lcd); } } } |