From 40cbf25dbbea97315b073126c5613df3eb8cbc3b Mon Sep 17 00:00:00 2001
From: Tom Rhodes <trhodes@FreeBSD.org>
Date: Thu, 30 Jan 2003 18:33:01 +0000
Subject: [PATCH] Add support for the Trek Thumbdrive 8MB USB Drive.

PR:		46004
Submitted by:	Brian J. McGovern <mcgovern@tick.beta.com> (original version)
---
 sys/dev/usb/umass.c        | 10 +++++++++-
 sys/dev/usb/usbdevs        |  2 ++
 sys/dev/usb/usbdevs.h      |  4 +++-
 sys/dev/usb/usbdevs_data.h |  7 +++++++
 4 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/sys/dev/usb/umass.c b/sys/dev/usb/umass.c
index 1e4d51b5b0f0..f4c9d40c7b68 100644
--- a/sys/dev/usb/umass.c
+++ b/sys/dev/usb/umass.c
@@ -323,6 +323,11 @@ struct umass_devdescr_t {
 };
 
 Static struct umass_devdescr_t umass_devdescrs[] = {
+	{ USB_VENDOR_TREK, USB_PRODUCT_TREK_THUMBDRIVE_8MB, RID_WILDCARD,
+	  UMASS_PROTO_ATAPI | UMASS_PROTO_BBB,
+	  IGNORE_RESIDUE
+/* | NO_TEST_UNIT_READY */
+	},
 	{ USB_VENDOR_FUJIPHOTO, USB_PRODUCT_FUJIPHOTO_MASS0100, RID_WILDCARD,
 	  UMASS_PROTO_ATAPI | UMASS_PROTO_CBI_I,
 	  RS_NO_CLEAR_UA
@@ -373,7 +378,10 @@ Static struct umass_devdescr_t umass_devdescrs[] = {
 	  UMASS_PROTO_ATAPI | UMASS_PROTO_CBI_I,
 	  FORCE_SHORT_INQUIRY
 	},
-
+	{ USB_VENDOR_TREK,  USB_PRODUCT_TREK_THUMBDRIVE_8MB, RID_WILDCARD,
+          UMASS_PROTO_ATAPI | UMASS_PROTO_BBB,
+	  IGNORE_RESIDUE
+	},
 	{ VID_EOT, PID_EOT, RID_EOT, 0, 0 }
 };
 
diff --git a/sys/dev/usb/usbdevs b/sys/dev/usb/usbdevs
index 27c25b058b3d..4347e5d5d0f1 100644
--- a/sys/dev/usb/usbdevs
+++ b/sys/dev/usb/usbdevs
@@ -1068,6 +1068,7 @@ product TEAC FD05PUB		0x0000	FD-05PUB floppy
 
 /* Telex Communications products */
 product TELEX MIC1		0x0001	Enhanced USB Microphone
+product TREK THUMBDRIVE_8MB	0x9988	ThumbDrive_8MB
 
 /* Texas Intel products */
 product TI UTUSB41		0x1446	UT-USB41 hub
@@ -1078,6 +1079,7 @@ product THRUST FUSION_PAD	0xa0a3	Fusion Digital Gamepad
 
 /* Trek Technology products */
 product TREK THUMBDRIVE		0x1111	ThumbDrive
+product TREK THUMBDRIVE		0x9988	ThumbDrive
 
 /* Ultima products */
 product ULTIMA 1200UBPLUS	0x4002	1200 UB Plus scanner
diff --git a/sys/dev/usb/usbdevs.h b/sys/dev/usb/usbdevs.h
index c47c5c86d4fd..f7caad7217f9 100644
--- a/sys/dev/usb/usbdevs.h
+++ b/sys/dev/usb/usbdevs.h
@@ -1075,7 +1075,7 @@
 
 /* Telex Communications products */
 #define	USB_PRODUCT_TELEX_MIC1	0x0001		/* Enhanced USB Microphone */
-
+#define USB_PRODUCT_TREK_THUMBDRIVE_8MB	0x9988		/* ThumbDrive 8MB */
 /* Texas Intel products */
 #define	USB_PRODUCT_TI_UTUSB41	0x1446		/* UT-USB41 hub */
 #define	USB_PRODUCT_TI_TUSB2046	0x2046		/* TUSB2046 hub */
@@ -1086,6 +1086,8 @@
 /* Trek Technology products */
 #define	USB_PRODUCT_TREK_THUMBDRIVE	0x1111		/* ThumbDrive */
 
+#define USB_PRODUCT_TREK_THUMBDRIVE_8MB	0x9988		/* ThumbDrive */
+
 /* Ultima products */
 #define	USB_PRODUCT_ULTIMA_1200UBPLUS	0x4002		/* 1200 UB Plus scanner */
 
diff --git a/sys/dev/usb/usbdevs_data.h b/sys/dev/usb/usbdevs_data.h
index 84756b455916..7b2cadf5d6db 100644
--- a/sys/dev/usb/usbdevs_data.h
+++ b/sys/dev/usb/usbdevs_data.h
@@ -2595,6 +2595,13 @@ const struct usb_knowndev usb_knowndevs[] = {
 	    "Trek Technology",
 	    "ThumbDrive",
 	},
+
+	{
+	    USB_VENDOR_TREK, USB_PRODUCT_TREK_THUMBDRIVE_8MB,
+	    0,
+	    "Trek Technology",
+	    "ThumbDrive",
+	},
 	{
 	    USB_VENDOR_ULTIMA, USB_PRODUCT_ULTIMA_1200UBPLUS,
 	    0,