From jovchev@gmail.com Sat Jun  4 15:59:19 2005
Message-ID: <42A230B1.6030502@gmail.com>
Date: Sun, 05 Jun 2005 01:52:33 +0300
From: Kiril Jovchev <jovchev@gmail.com>
To: randy_dunlap <rdunlap@xenotime.net>
CC: greg@kroah.com
Subject: USB: add support for Creative WebCam mini to stv680 driver

Added support for Creative WebCam Go Mini.
Camera has STV680 chip and just different Product ID(0x4007) and Vendor ID (0x041e).

Signed-off-by: Kiril Jovchev <jovchev@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/usb/media/stv680.c |    8 ++++++--
 drivers/usb/media/stv680.h |    5 +++++
 2 files changed, 11 insertions(+), 2 deletions(-)

--- gregkh-2.6.orig/drivers/usb/media/stv680.h	2005-03-01 23:38:38.000000000 -0800
+++ gregkh-2.6/drivers/usb/media/stv680.h	2005-06-05 23:43:29.000000000 -0700
@@ -41,12 +41,17 @@
 
 #define USB_PENCAM_VENDOR_ID	0x0553
 #define USB_PENCAM_PRODUCT_ID	0x0202
+
+#define USB_CREATIVEGOMINI_VENDOR_ID	0x041e
+#define USB_CREATIVEGOMINI_PRODUCT_ID	0x4007
+
 #define PENCAM_TIMEOUT          1000
 /* fmt 4 */
 #define STV_VIDEO_PALETTE       VIDEO_PALETTE_RGB24
 
 static struct usb_device_id device_table[] = {
 	{USB_DEVICE (USB_PENCAM_VENDOR_ID, USB_PENCAM_PRODUCT_ID)},
+	{USB_DEVICE (USB_CREATIVEGOMINI_VENDOR_ID, USB_CREATIVEGOMINI_PRODUCT_ID)},
 	{}
 };
 MODULE_DEVICE_TABLE (usb, device_table);
--- gregkh-2.6.orig/drivers/usb/media/stv680.c	2005-03-01 23:38:13.000000000 -0800
+++ gregkh-2.6/drivers/usb/media/stv680.c	2005-06-05 23:44:08.000000000 -0700
@@ -1375,9 +1375,13 @@
 	    (le16_to_cpu(dev->descriptor.idProduct) == USB_PENCAM_PRODUCT_ID)) {
 		camera_name = "STV0680";
 		PDEBUG (0, "STV(i): STV0680 camera found.");
+	} else if ((le16_to_cpu(dev->descriptor.idVendor) == USB_CREATIVEGOMINI_VENDOR_ID) &&
+		   (le16_to_cpu(dev->descriptor.idProduct) == USB_CREATIVEGOMINI_PRODUCT_ID)) {
+		camera_name = "Creative WebCam Go Mini";
+		PDEBUG (0, "STV(i): Creative WebCam Go Mini found.");
 	} else {
-		PDEBUG (0, "STV(e): Vendor/Product ID do not match STV0680 values.");
-		PDEBUG (0, "STV(e): Check that the STV0680 camera is connected to the computer.");
+		PDEBUG (0, "STV(e): Vendor/Product ID do not match STV0680 or Creative WebCam Go Mini values.");
+		PDEBUG (0, "STV(e): Check that the STV0680 or Creative WebCam Go Mini camera is connected to the computer.");
 		retval = -ENODEV;
 		goto error;
 	}
