diff -ru spca5xx-20060501/drivers/usb/spca561.h spca5xx-20060501-patched/drivers/usb/spca561.h --- spca5xx-20060501/drivers/usb/spca561.h 2006-04-21 11:33:24.000000000 +0200 +++ spca5xx-20060501-patched/drivers/usb/spca561.h 2006-11-17 12:52:41.919394762 +0100 @@ -758,6 +758,7 @@ case 0x403b: case 0x092b: case 0x092c: + case 0x092f: spca50x->chip_revision = Rev012A; break; default: diff -ru spca5xx-20060501/drivers/usb/spca5xx.c spca5xx-20060501-patched/drivers/usb/spca5xx.c --- spca5xx-20060501/drivers/usb/spca5xx.c 2006-04-29 17:38:07.000000000 +0200 +++ spca5xx-20060501-patched/drivers/usb/spca5xx.c 2006-11-17 12:55:08.687320268 +0100 @@ -432,6 +432,7 @@ ToptroIndus, AgfaCl20, LogitechQC92c, + LogitechQC92f, SonixWC311P, Concord3045, Mercury21, //120 @@ -600,6 +601,7 @@ {ToptroIndus, "Toptro Industrial"}, {AgfaCl20, "Agfa ephoto CL20"}, {LogitechQC92c, "Logitech QuickCam chat"}, + {LogitechQC92f, "Logitech QuickCam Express"}, {SonixWC311P, "Sonix sn9c102P Hv7131R"}, {Concord3045, "Concord 3045 spca536a"}, {Mercury21, "Mercury Peripherals Inc."}, @@ -769,6 +771,7 @@ {USB_DEVICE(0x2899, 0x012c)}, /* Toptro Industrial */ {USB_DEVICE(0x06bd, 0x0404)}, /* Agfa CL20 */ {USB_DEVICE(0x046d, 0x092c)}, /* Logitech QC chat Elch2 */ + {USB_DEVICE(0x046d, 0x092f)}, /* Logitech QC Express */ {USB_DEVICE(0x0c45, 0x607c)}, /* Sonix sn9c102p Hv7131R */ {USB_DEVICE(0x0733, 0x3261)}, /* Concord 3045 spca536a */ {USB_DEVICE(0x0733, 0x1314)}, /* Mercury 2.1MEG Deluxe Classic Cam */ @@ -4595,6 +4598,15 @@ info("USB SPCA5XX camera found.Logitech QuickCam chat (SPCA561A)"); memcpy(&spca50x->funct,&fspca561,sizeof(struct cam_operation)); break; + case 0x092f: + spca50x->desc = LogitechQC92f; + spca50x->bridge = BRIDGE_SPCA561; + spca50x->sensor = SENSOR_INTERNAL; + + spca50x->cameratype = S561; + info("USB SPCA5XX camera found.Logitech QuickCam Express (SPCA561A)"); + memcpy(&spca50x->funct,&fspca561,sizeof(struct cam_operation)); + break; default: goto error; };