aboutsummaryrefslogtreecommitdiffstats
path: root/usb
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-02-07 09:25:12 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2006-02-07 09:25:12 -0800
commit87c8d93a36a27f45e502de74d806bee851df3d32 (patch)
treea6ba9d28c28727c2425bcb734cc340be9b1e2f76 /usb
parentecc5f0b9d25100402e260fe6126c4631aae38ebc (diff)
downloadpatches-87c8d93a36a27f45e502de74d806bee851df3d32.tar.gz
usb patches added
Diffstat (limited to 'usb')
-rw-r--r--usb/usb-add-new-device-ids-to-ldusb.patch175
-rw-r--r--usb/usb-change-ldusb-s-experimental-state.patch25
-rw-r--r--usb/usb-convert-a-bunch-of-usb-semaphores-to-mutexes.patch12
-rw-r--r--usb/usb-kzalloc-in-ldusb.patch2
-rw-r--r--usb/usb-pl2303-leadtek-9531-gps-mouse.patch44
-rw-r--r--usb/usb-sl811_cs-needs-platform_device-conversion-too.patch39
-rw-r--r--usb/usb-storage-new-unusual_devs-entry.patch35
-rw-r--r--usb/usb-storage-unusual_devs-entry.patch32
-rw-r--r--usb/usbcore-fix-compile-error-with-config_usb_suspend-n.patch29
9 files changed, 386 insertions, 7 deletions
diff --git a/usb/usb-add-new-device-ids-to-ldusb.patch b/usb/usb-add-new-device-ids-to-ldusb.patch
new file mode 100644
index 0000000000000..0aa07409a8607
--- /dev/null
+++ b/usb/usb-add-new-device-ids-to-ldusb.patch
@@ -0,0 +1,175 @@
+From mhund@ld-didactic.de Thu Feb 2 00:36:49 2006
+Message-ID: <43E1C49B.9070705@ld-didactic.de>
+Date: Thu, 02 Feb 2006 09:36:43 +0100
+From: Michael Hund <mhund@ld-didactic.de>
+To: gregkh@suse.de, "Hund, Dr. Michael" <MHund@ld-didactic.de>
+Subject: USB: add new device ids to ldusb
+
+Signed-off-by: Michael Hund <mhund@ld-didactic.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/input/hid-core.c | 50 +++++++++++++++++++++----------------
+ drivers/usb/misc/ldusb.c | 57 ++++++++++++++++++++++++-------------------
+ 2 files changed, 60 insertions(+), 47 deletions(-)
+
+--- gregkh-2.6.orig/drivers/usb/input/hid-core.c
++++ gregkh-2.6/drivers/usb/input/hid-core.c
+@@ -1435,17 +1435,20 @@ void hid_init_reports(struct hid_device
+ #define USB_DEVICE_ID_VERNIER_CYCLOPS 0x0004
+
+ #define USB_VENDOR_ID_LD 0x0f11
+-#define USB_DEVICE_ID_CASSY 0x1000
+-#define USB_DEVICE_ID_POCKETCASSY 0x1010
+-#define USB_DEVICE_ID_MOBILECASSY 0x1020
+-#define USB_DEVICE_ID_JWM 0x1080
+-#define USB_DEVICE_ID_DMMP 0x1081
+-#define USB_DEVICE_ID_UMIP 0x1090
+-#define USB_DEVICE_ID_VIDEOCOM 0x1200
+-#define USB_DEVICE_ID_COM3LAB 0x2000
+-#define USB_DEVICE_ID_TELEPORT 0x2010
+-#define USB_DEVICE_ID_NETWORKANALYSER 0x2020
+-#define USB_DEVICE_ID_POWERCONTROL 0x2030
++#define USB_DEVICE_ID_LD_CASSY 0x1000
++#define USB_DEVICE_ID_LD_POCKETCASSY 0x1010
++#define USB_DEVICE_ID_LD_MOBILECASSY 0x1020
++#define USB_DEVICE_ID_LD_JWM 0x1080
++#define USB_DEVICE_ID_LD_DMMP 0x1081
++#define USB_DEVICE_ID_LD_UMIP 0x1090
++#define USB_DEVICE_ID_LD_XRAY1 0x1100
++#define USB_DEVICE_ID_LD_XRAY2 0x1101
++#define USB_DEVICE_ID_LD_VIDEOCOM 0x1200
++#define USB_DEVICE_ID_LD_COM3LAB 0x2000
++#define USB_DEVICE_ID_LD_TELEPORT 0x2010
++#define USB_DEVICE_ID_LD_NETWORKANALYSER 0x2020
++#define USB_DEVICE_ID_LD_POWERCONTROL 0x2030
++#define USB_DEVICE_ID_LD_MACHINETEST 0x2040
+
+ #define USB_VENDOR_ID_APPLE 0x05ac
+ #define USB_DEVICE_ID_APPLE_POWERMOUSE 0x0304
+@@ -1491,17 +1494,20 @@ static const struct hid_blacklist {
+ { USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_POWERMATE, HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_SOUNDKNOB, HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_KBGEAR, USB_DEVICE_ID_KBGEAR_JAMSTUDIO, HID_QUIRK_IGNORE },
+- { USB_VENDOR_ID_LD, USB_DEVICE_ID_CASSY, HID_QUIRK_IGNORE },
+- { USB_VENDOR_ID_LD, USB_DEVICE_ID_POCKETCASSY, HID_QUIRK_IGNORE },
+- { USB_VENDOR_ID_LD, USB_DEVICE_ID_MOBILECASSY, HID_QUIRK_IGNORE },
+- { USB_VENDOR_ID_LD, USB_DEVICE_ID_JWM, HID_QUIRK_IGNORE },
+- { USB_VENDOR_ID_LD, USB_DEVICE_ID_DMMP, HID_QUIRK_IGNORE },
+- { USB_VENDOR_ID_LD, USB_DEVICE_ID_UMIP, HID_QUIRK_IGNORE },
+- { USB_VENDOR_ID_LD, USB_DEVICE_ID_VIDEOCOM, HID_QUIRK_IGNORE },
+- { USB_VENDOR_ID_LD, USB_DEVICE_ID_COM3LAB, HID_QUIRK_IGNORE },
+- { USB_VENDOR_ID_LD, USB_DEVICE_ID_TELEPORT, HID_QUIRK_IGNORE },
+- { USB_VENDOR_ID_LD, USB_DEVICE_ID_NETWORKANALYSER, HID_QUIRK_IGNORE },
+- { USB_VENDOR_ID_LD, USB_DEVICE_ID_POWERCONTROL, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_CASSY, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_POCKETCASSY, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_MOBILECASSY, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_JWM, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_DMMP, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_UMIP, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_XRAY1, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_XRAY2, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_VIDEOCOM, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_COM3LAB, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_TELEPORT, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_NETWORKANALYSER, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_POWERCONTROL, HID_QUIRK_IGNORE },
++ { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_MACHINETEST, HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1024LS, HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_MCC, USB_DEVICE_ID_MCC_PMD1208LS, HID_QUIRK_IGNORE },
+ { USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_IGNORE },
+--- gregkh-2.6.orig/drivers/usb/misc/ldusb.c
++++ gregkh-2.6/drivers/usb/misc/ldusb.c
+@@ -24,6 +24,7 @@
+ * V0.1 (mh) Initial version
+ * V0.11 (mh) Added raw support for HID 1.0 devices (no interrupt out endpoint)
+ * V0.12 (mh) Added kmalloc check for string buffer
++ * V0.13 (mh) Added support for LD X-Ray and Machine Test System
+ */
+
+ #include <linux/config.h>
+@@ -40,17 +41,20 @@
+
+ /* Define these values to match your devices */
+ #define USB_VENDOR_ID_LD 0x0f11 /* USB Vendor ID of LD Didactic GmbH */
+-#define USB_DEVICE_ID_CASSY 0x1000 /* USB Product ID for all CASSY-S modules */
+-#define USB_DEVICE_ID_POCKETCASSY 0x1010 /* USB Product ID for Pocket-CASSY */
+-#define USB_DEVICE_ID_MOBILECASSY 0x1020 /* USB Product ID for Mobile-CASSY */
+-#define USB_DEVICE_ID_JWM 0x1080 /* USB Product ID for Joule and Wattmeter */
+-#define USB_DEVICE_ID_DMMP 0x1081 /* USB Product ID for Digital Multimeter P (reserved) */
+-#define USB_DEVICE_ID_UMIP 0x1090 /* USB Product ID for UMI P */
+-#define USB_DEVICE_ID_VIDEOCOM 0x1200 /* USB Product ID for VideoCom */
+-#define USB_DEVICE_ID_COM3LAB 0x2000 /* USB Product ID for COM3LAB */
+-#define USB_DEVICE_ID_TELEPORT 0x2010 /* USB Product ID for Terminal Adapter */
+-#define USB_DEVICE_ID_NETWORKANALYSER 0x2020 /* USB Product ID for Network Analyser */
+-#define USB_DEVICE_ID_POWERCONTROL 0x2030 /* USB Product ID for Controlling device for Power Electronics */
++#define USB_DEVICE_ID_LD_CASSY 0x1000 /* USB Product ID of CASSY-S */
++#define USB_DEVICE_ID_LD_POCKETCASSY 0x1010 /* USB Product ID of Pocket-CASSY */
++#define USB_DEVICE_ID_LD_MOBILECASSY 0x1020 /* USB Product ID of Mobile-CASSY */
++#define USB_DEVICE_ID_LD_JWM 0x1080 /* USB Product ID of Joule and Wattmeter */
++#define USB_DEVICE_ID_LD_DMMP 0x1081 /* USB Product ID of Digital Multimeter P (reserved) */
++#define USB_DEVICE_ID_LD_UMIP 0x1090 /* USB Product ID of UMI P */
++#define USB_DEVICE_ID_LD_XRAY1 0x1100 /* USB Product ID of X-Ray Apparatus */
++#define USB_DEVICE_ID_LD_XRAY2 0x1101 /* USB Product ID of X-Ray Apparatus */
++#define USB_DEVICE_ID_LD_VIDEOCOM 0x1200 /* USB Product ID of VideoCom */
++#define USB_DEVICE_ID_LD_COM3LAB 0x2000 /* USB Product ID of COM3LAB */
++#define USB_DEVICE_ID_LD_TELEPORT 0x2010 /* USB Product ID of Terminal Adapter */
++#define USB_DEVICE_ID_LD_NETWORKANALYSER 0x2020 /* USB Product ID of Network Analyser */
++#define USB_DEVICE_ID_LD_POWERCONTROL 0x2030 /* USB Product ID of Converter Control Unit */
++#define USB_DEVICE_ID_LD_MACHINETEST 0x2040 /* USB Product ID of Machine Test System */
+
+ #define USB_VENDOR_ID_VERNIER 0x08f7
+ #define USB_DEVICE_ID_VERNIER_LABPRO 0x0001
+@@ -67,17 +71,20 @@
+
+ /* table of devices that work with this driver */
+ static struct usb_device_id ld_usb_table [] = {
+- { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_CASSY) },
+- { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_POCKETCASSY) },
+- { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_MOBILECASSY) },
+- { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_JWM) },
+- { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_DMMP) },
+- { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_UMIP) },
+- { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_VIDEOCOM) },
+- { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_COM3LAB) },
+- { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_TELEPORT) },
+- { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_NETWORKANALYSER) },
+- { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_POWERCONTROL) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_CASSY) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_POCKETCASSY) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_MOBILECASSY) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_JWM) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_DMMP) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_UMIP) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_XRAY1) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_XRAY2) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_VIDEOCOM) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_COM3LAB) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_TELEPORT) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_NETWORKANALYSER) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_POWERCONTROL) },
++ { USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_MACHINETEST) },
+ { USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_LABPRO) },
+ { USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP) },
+ { USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP) },
+@@ -85,7 +92,7 @@ static struct usb_device_id ld_usb_table
+ { } /* Terminating entry */
+ };
+ MODULE_DEVICE_TABLE(usb, ld_usb_table);
+-MODULE_VERSION("V0.12");
++MODULE_VERSION("V0.13");
+ MODULE_AUTHOR("Michael Hund <mhund@ld-didactic.de>");
+ MODULE_DESCRIPTION("LD USB Driver");
+ MODULE_LICENSE("GPL");
+@@ -632,8 +639,8 @@ static int ld_usb_probe(struct usb_inter
+
+ /* workaround for early firmware versions on fast computers */
+ if ((le16_to_cpu(udev->descriptor.idVendor) == USB_VENDOR_ID_LD) &&
+- ((le16_to_cpu(udev->descriptor.idProduct) == USB_DEVICE_ID_CASSY) ||
+- (le16_to_cpu(udev->descriptor.idProduct) == USB_DEVICE_ID_COM3LAB)) &&
++ ((le16_to_cpu(udev->descriptor.idProduct) == USB_DEVICE_ID_LD_CASSY) ||
++ (le16_to_cpu(udev->descriptor.idProduct) == USB_DEVICE_ID_LD_COM3LAB)) &&
+ (le16_to_cpu(udev->descriptor.bcdDevice) <= 0x103)) {
+ buffer = kmalloc(256, GFP_KERNEL);
+ if (buffer == NULL) {
diff --git a/usb/usb-change-ldusb-s-experimental-state.patch b/usb/usb-change-ldusb-s-experimental-state.patch
new file mode 100644
index 0000000000000..fc22ba93ca677
--- /dev/null
+++ b/usb/usb-change-ldusb-s-experimental-state.patch
@@ -0,0 +1,25 @@
+From mhund@ld-didactic.de Thu Feb 2 00:37:00 2006
+Message-ID: <43E1C4AE.6090801@ld-didactic.de>
+Date: Thu, 02 Feb 2006 09:37:02 +0100
+From: Michael Hund <mhund@ld-didactic.de>
+To: gregkh@suse.de, "Hund, Dr. Michael" <MHund@ld-didactic.de>
+Subject: USB: change ldusb's experimental state
+
+Signed-off-by: Michael Hund <mhund@ld-didactic.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/misc/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- gregkh-2.6.orig/drivers/usb/misc/Kconfig
++++ gregkh-2.6/drivers/usb/misc/Kconfig
+@@ -141,7 +141,7 @@ source "drivers/usb/misc/sisusbvga/Kconf
+
+ config USB_LD
+ tristate "USB LD driver"
+- depends on USB && EXPERIMENTAL
++ depends on USB
+ help
+ This driver is for generic USB devices that use interrupt transfers,
+ like LD Didactic's USB devices.
diff --git a/usb/usb-convert-a-bunch-of-usb-semaphores-to-mutexes.patch b/usb/usb-convert-a-bunch-of-usb-semaphores-to-mutexes.patch
index 988c0030875a9..cc4ac19573ad8 100644
--- a/usb/usb-convert-a-bunch-of-usb-semaphores-to-mutexes.patch
+++ b/usb/usb-convert-a-bunch-of-usb-semaphores-to-mutexes.patch
@@ -434,7 +434,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
--- gregkh-2.6.orig/drivers/usb/misc/ldusb.c
+++ gregkh-2.6/drivers/usb/misc/ldusb.c
-@@ -32,6 +32,7 @@
+@@ -33,6 +33,7 @@
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>
@@ -442,7 +442,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#include <asm/uaccess.h>
#include <linux/input.h>
-@@ -165,7 +166,7 @@ struct ld_usb {
+@@ -172,7 +173,7 @@ struct ld_usb {
};
/* prevent races between open() and disconnect() */
@@ -451,7 +451,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
static struct usb_driver ld_usb_driver;
-@@ -286,7 +287,7 @@ static int ld_usb_open(struct inode *ino
+@@ -293,7 +294,7 @@ static int ld_usb_open(struct inode *ino
nonseekable_open(inode, file);
subminor = iminor(inode);
@@ -460,7 +460,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
interface = usb_find_interface(&ld_usb_driver, subminor);
-@@ -348,7 +349,7 @@ unlock_exit:
+@@ -355,7 +356,7 @@ unlock_exit:
up(&dev->sem);
unlock_disconnect_exit:
@@ -469,7 +469,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return retval;
}
-@@ -733,7 +734,7 @@ static void ld_usb_disconnect(struct usb
+@@ -740,7 +741,7 @@ static void ld_usb_disconnect(struct usb
struct ld_usb *dev;
int minor;
@@ -478,7 +478,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
dev = usb_get_intfdata(intf);
usb_set_intfdata(intf, NULL);
-@@ -754,7 +755,7 @@ static void ld_usb_disconnect(struct usb
+@@ -761,7 +762,7 @@ static void ld_usb_disconnect(struct usb
up(&dev->sem);
}
diff --git a/usb/usb-kzalloc-in-ldusb.patch b/usb/usb-kzalloc-in-ldusb.patch
index 25dc0086c8fbd..334a4f2ef6985 100644
--- a/usb/usb-kzalloc-in-ldusb.patch
+++ b/usb/usb-kzalloc-in-ldusb.patch
@@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- gregkh-2.6.orig/drivers/usb/misc/ldusb.c
+++ gregkh-2.6/drivers/usb/misc/ldusb.c
-@@ -619,12 +619,11 @@ static int ld_usb_probe(struct usb_inter
+@@ -626,12 +626,11 @@ static int ld_usb_probe(struct usb_inter
/* allocate memory for our device state and intialize it */
diff --git a/usb/usb-pl2303-leadtek-9531-gps-mouse.patch b/usb/usb-pl2303-leadtek-9531-gps-mouse.patch
new file mode 100644
index 0000000000000..14ced67c89085
--- /dev/null
+++ b/usb/usb-pl2303-leadtek-9531-gps-mouse.patch
@@ -0,0 +1,44 @@
+From christian.lindner@gmx.net Thu Feb 2 00:04:24 2006
+Message-ID: <43E0B35C.2080701@gmx.net>
+Date: Wed, 01 Feb 2006 14:10:52 +0100
+From: Christian Lindner <christian.lindner@gmx.net>
+To: Greg KH <gregkh@suse.de>
+Subject: USB: PL2303: Leadtek 9531 GPS-Mouse
+
+The patch adds the USB ID (0413:2101) for the Leadtek GPS-Mouse 9531 to
+the driver pl2303.
+
+Signed-off-by: Christian Lindner <christian.lindner@gmx.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+
+---
+ drivers/usb/serial/pl2303.c | 5 +++--
+ drivers/usb/serial/pl2303.h | 4 ++++
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+--- gregkh-2.6.orig/drivers/usb/serial/pl2303.c
++++ gregkh-2.6/drivers/usb/serial/pl2303.c
+@@ -73,9 +73,10 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_X65) },
+ { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_X75) },
+ { USB_DEVICE(SYNTECH_VENDOR_ID, SYNTECH_PRODUCT_ID) },
+- { USB_DEVICE(NOKIA_CA42_VENDOR_ID, NOKIA_CA42_PRODUCT_ID ) },
+- { USB_DEVICE(CA_42_CA42_VENDOR_ID, CA_42_CA42_PRODUCT_ID ) },
++ { USB_DEVICE(NOKIA_CA42_VENDOR_ID, NOKIA_CA42_PRODUCT_ID) },
++ { USB_DEVICE(CA_42_CA42_VENDOR_ID, CA_42_CA42_PRODUCT_ID) },
+ { USB_DEVICE(SAGEM_VENDOR_ID, SAGEM_PRODUCT_ID) },
++ { USB_DEVICE(LEADTEK_VENDOR_ID, LEADTEK_9531_PRODUCT_ID) },
+ { } /* Terminating entry */
+ };
+
+--- gregkh-2.6.orig/drivers/usb/serial/pl2303.h
++++ gregkh-2.6/drivers/usb/serial/pl2303.h
+@@ -71,3 +71,7 @@
+
+ #define SAGEM_VENDOR_ID 0x079b
+ #define SAGEM_PRODUCT_ID 0x0027
++
++/* Leadtek GPS 9531 (ID 0413:2101) */
++#define LEADTEK_VENDOR_ID 0x0413
++#define LEADTEK_9531_PRODUCT_ID 0x2101
diff --git a/usb/usb-sl811_cs-needs-platform_device-conversion-too.patch b/usb/usb-sl811_cs-needs-platform_device-conversion-too.patch
new file mode 100644
index 0000000000000..10b49a84ff1f9
--- /dev/null
+++ b/usb/usb-sl811_cs-needs-platform_device-conversion-too.patch
@@ -0,0 +1,39 @@
+From david-b@pacbell.net Mon Feb 6 12:16:36 2006
+From: David Brownell <david-b@pacbell.net>
+To: Greg KH <greg@kroah.com>
+Subject: USB: sl811_cs needs platform_device conversion too
+Date: Mon, 6 Feb 2006 12:15:15 -0800
+Cc: Russell King <rmk@arm.linux.org.uk>
+Message-Id: <200602061215.16016.david-b@pacbell.net>
+
+The switchover to "platform_driver" from "device_driver" missed
+one rather essential usage, which broke the sl811_cs driver ...
+this resolves the omission.
+
+Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/sl811_cs.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- gregkh-2.6.orig/drivers/usb/host/sl811_cs.c
++++ gregkh-2.6/drivers/usb/host/sl811_cs.c
+@@ -101,7 +101,7 @@ static struct resource resources[] = {
+ },
+ };
+
+-extern struct device_driver sl811h_driver;
++extern struct platform_driver sl811h_driver;
+
+ static struct platform_device platform_dev = {
+ .id = -1,
+@@ -132,7 +132,7 @@ static int sl811_hc_init(struct device *
+ * initialized already because of the link order dependency created
+ * by referencing "sl811h_driver".
+ */
+- platform_dev.name = sl811h_driver.name;
++ platform_dev.name = sl811h_driver.driver.name;
+ return platform_device_register(&platform_dev);
+ }
+
diff --git a/usb/usb-storage-new-unusual_devs-entry.patch b/usb/usb-storage-new-unusual_devs-entry.patch
new file mode 100644
index 0000000000000..24736a4e01ea7
--- /dev/null
+++ b/usb/usb-storage-new-unusual_devs-entry.patch
@@ -0,0 +1,35 @@
+From stern@rowland.harvard.edu Thu Feb 2 06:52:59 2006
+Date: Thu, 2 Feb 2006 09:52:45 -0500 (EST)
+From: Alan Stern <stern@rowland.harvard.edu>
+To: Greg KH <greg@kroah.com>
+cc: Andrew Simmons <andrew.simmons@gmail.com>, Phil Dibowitz <phil@ipom.com>
+Subject: usb-storage: new unusual_devs entry
+Message-ID: <Pine.LNX.4.44L0.0602020950520.5177-100000@iolanthe.rowland.org>
+
+This patch (as631) for unusual_devs.h fixes bugzilla entry 5913.
+
+
+Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Phil Dibowitz <phil@ipom.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/storage/unusual_devs.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- gregkh-2.6.orig/drivers/usb/storage/unusual_devs.h
++++ gregkh-2.6/drivers/usb/storage/unusual_devs.h
+@@ -1162,6 +1162,13 @@ UNUSUAL_DEV( 0x55aa, 0xa103, 0x0000, 0x
+ US_FL_SINGLE_LUN),
+ #endif
+
++/* Reported by Andrew Simmons <andrew.simmons@gmail.com> */
++UNUSUAL_DEV( 0xed06, 0x4500, 0x0001, 0x0001,
++ "DataStor",
++ "USB4500 FW1.04",
++ US_SC_DEVICE, US_PR_DEVICE, NULL,
++ US_FL_FIX_CAPACITY),
++
+ /* Control/Bulk transport for all SubClass values */
+ USUAL_DEV(US_SC_RBC, US_PR_CB, USB_US_TYPE_STOR),
+ USUAL_DEV(US_SC_8020, US_PR_CB, USB_US_TYPE_STOR),
diff --git a/usb/usb-storage-unusual_devs-entry.patch b/usb/usb-storage-unusual_devs-entry.patch
new file mode 100644
index 0000000000000..17a8fe73c5394
--- /dev/null
+++ b/usb/usb-storage-unusual_devs-entry.patch
@@ -0,0 +1,32 @@
+From stern@rowland.harvard.edu Mon Jan 30 07:19:53 2006
+Date: Mon, 30 Jan 2006 10:19:43 -0500 (EST)
+From: Alan Stern <stern@rowland.harvard.edu>
+To: Greg KH <greg@kroah.com>
+cc: Jan De Luyck <lkml@kcore.org>, Phil Dibowitz <phil@ipom.com>
+Subject: [PATCH] usb-storage: unusual_devs entry
+Message-ID: <Pine.LNX.4.44L0.0601301017540.5105-100000@iolanthe.rowland.org>
+
+Here is a new entry for unusual_devs.h (as630).
+
+Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/storage/unusual_devs.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- gregkh-2.6.orig/drivers/usb/storage/unusual_devs.h
++++ gregkh-2.6/drivers/usb/storage/unusual_devs.h
+@@ -946,6 +946,12 @@ UNUSUAL_DEV( 0x084d, 0x0011, 0x0110, 0x
+ US_SC_DEVICE, US_PR_DEVICE, NULL,
+ US_FL_BULK32),
+
++/* Submitted by Jan De Luyck <lkml@kcore.org> */
++UNUSUAL_DEV( 0x08bd, 0x1100, 0x0000, 0x0000,
++ "CITIZEN",
++ "X1DE-USB",
++ US_SC_DEVICE, US_PR_DEVICE, NULL,
++ US_FL_SINGLE_LUN),
+
+ /* Entry needed for flags. Moreover, all devices with this ID use
+ * bulk-only transport, but _some_ falsely report Control/Bulk instead.
diff --git a/usb/usbcore-fix-compile-error-with-config_usb_suspend-n.patch b/usb/usbcore-fix-compile-error-with-config_usb_suspend-n.patch
new file mode 100644
index 0000000000000..a48ffab904d84
--- /dev/null
+++ b/usb/usbcore-fix-compile-error-with-config_usb_suspend-n.patch
@@ -0,0 +1,29 @@
+From stern@rowland.harvard.edu Wed Feb 1 07:47:21 2006
+Date: Wed, 1 Feb 2006 10:47:11 -0500 (EST)
+From: Alan Stern <stern@rowland.harvard.edu>
+To: Andrew Morton <akpm@osdl.org>
+cc: David Brownell <david-b@pacbell.net>, Greg KH <greg@kroah.com>
+Subject: usbcore: fix compile error with CONFIG_USB_SUSPEND=n
+Message-ID: <Pine.LNX.4.44L0.0602011044270.5635-100000@iolanthe.rowland.org>
+
+This patch (as647) fixes a small error introduced by a recent change to
+the USB core suspend/resume code.
+
+Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+
+---
+ drivers/usb/core/hub.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- gregkh-2.6.orig/drivers/usb/core/hub.c
++++ gregkh-2.6/drivers/usb/core/hub.c
+@@ -1892,8 +1892,8 @@ int usb_resume_device(struct usb_device
+ status = hub_port_resume(hdev_to_hub(udev->parent),
+ udev->portnum, udev);
+ } else
+- status = 0;
+ #endif
++ status = 0;
+ } else
+ status = finish_device_resume(udev);
+ if (status < 0)