aboutsummaryrefslogtreecommitdiffstats
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2007-02-21 14:08:12 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2007-02-21 14:08:12 -0800
commit727d36284da43b2b589680ea087804bc7e220c10 (patch)
tree6b7656daa770f99492f3b1417fdb1bbc02f84c85
parent785b9427e3ee43ea5bd80c80edb4fca03520de95 (diff)
downloadpatches-727d36284da43b2b589680ea087804bc7e220c10.tar.gz
version resync with 2.6.21-rc1 and add new option device ids patch
-rw-r--r--driver-class/block-device.patch42
-rw-r--r--driver-class/sys-subsys-unification.patch31
-rw-r--r--driver/driver-core-don-t-fail-attaching-the-device-if-it-cannot-be-bound.patch4
-rw-r--r--driver/put_device-might_sleep.patch2
-rw-r--r--series3
-rw-r--r--usb/usb-option-device-ids.patch48
-rw-r--r--usb/usb-option-new-device-ids.patch128
-rw-r--r--version2
8 files changed, 215 insertions, 45 deletions
diff --git a/driver-class/block-device.patch b/driver-class/block-device.patch
index bfd55b48c9b5c4..56d9704f3aff92 100644
--- a/driver-class/block-device.patch
+++ b/driver-class/block-device.patch
@@ -50,7 +50,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- gregkh-2.6.orig/block/genhd.c
+++ gregkh-2.6/block/genhd.c
-@@ -16,8 +16,14 @@
+@@ -17,8 +17,14 @@
#include <linux/buffer_head.h>
#include <linux/mutex.h>
@@ -67,7 +67,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/*
* Can be deleted altogether. Later.
-@@ -36,19 +42,17 @@ static inline int major_to_index(int maj
+@@ -37,19 +43,17 @@ static inline int major_to_index(int maj
}
#ifdef CONFIG_PROC_FS
@@ -89,7 +89,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#endif /* CONFIG_PROC_FS */
int register_blkdev(unsigned int major, const char *name)
-@@ -56,7 +60,7 @@ int register_blkdev(unsigned int major,
+@@ -57,7 +61,7 @@ int register_blkdev(unsigned int major,
struct blk_major_name **n, *p;
int index, ret = 0;
@@ -98,7 +98,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* temporary */
if (major == 0) {
-@@ -109,7 +113,7 @@ int register_blkdev(unsigned int major,
+@@ -104,7 +108,7 @@ int register_blkdev(unsigned int major,
kfree(p);
}
out:
@@ -107,7 +107,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return ret;
}
-@@ -123,7 +127,7 @@ int unregister_blkdev(unsigned int major
+@@ -118,7 +122,7 @@ int unregister_blkdev(unsigned int major
int index = major_to_index(major);
int ret = 0;
@@ -116,7 +116,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
for (n = &major_names[index]; *n; n = &(*n)->next)
if ((*n)->major == major)
break;
-@@ -133,7 +137,7 @@ int unregister_blkdev(unsigned int major
+@@ -128,7 +132,7 @@ int unregister_blkdev(unsigned int major
p = *n;
*n = p->next;
}
@@ -125,7 +125,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kfree(p);
return ret;
-@@ -148,29 +152,30 @@ static struct kobj_map *bdev_map;
+@@ -143,29 +147,30 @@ static struct kobj_map *bdev_map;
* range must be nonzero
* The hash chain is sorted on range, so that subranges can override.
*/
@@ -163,7 +163,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
{
struct gendisk *p = data;
-@@ -205,8 +210,6 @@ void unlink_gendisk(struct gendisk *disk
+@@ -200,8 +205,6 @@ void unlink_gendisk(struct gendisk *disk
disk->minors);
}
@@ -172,7 +172,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/**
* get_gendisk - get partitioning information for a given device
* @dev: device to get partitioning information for
-@@ -214,37 +217,50 @@ void unlink_gendisk(struct gendisk *disk
+@@ -209,37 +212,50 @@ void unlink_gendisk(struct gendisk *disk
* This function gets the structure containing partitioning
* information for the given device @dev.
*/
@@ -236,7 +236,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
static int show_partition(struct seq_file *part, void *v)
-@@ -253,7 +269,7 @@ static int show_partition(struct seq_fil
+@@ -248,7 +264,7 @@ static int show_partition(struct seq_fil
int n;
char buf[BDEVNAME_SIZE];
@@ -245,7 +245,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
seq_puts(part, "major minor #blocks name\n\n");
/* Don't show non-partitionable removeable devices or empty devices */
-@@ -293,97 +309,65 @@ struct seq_operations partitions_op = {
+@@ -288,97 +304,65 @@ struct seq_operations partitions_op = {
extern int blk_dev_init(void);
@@ -374,7 +374,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
"%8lu %8lu %8llu %8u "
"%8lu %8lu %8llu %8u "
"%8u %8u %8u"
-@@ -400,36 +384,21 @@ static ssize_t disk_stats_read(struct ge
+@@ -395,36 +379,21 @@ static ssize_t disk_stats_read(struct ge
jiffies_to_msecs(disk_stat_read(disk, io_ticks)),
jiffies_to_msecs(disk_stat_read(disk, time_in_queue)));
}
@@ -421,7 +421,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
int i;
if (count > 0 && sscanf(buf, "%d", &i) > 0) {
-@@ -441,154 +410,85 @@ static ssize_t disk_fail_store(struct ge
+@@ -436,154 +405,85 @@ static ssize_t disk_fail_store(struct ge
return count;
}
@@ -616,7 +616,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
static int diskstats_show(struct seq_file *s, void *v)
-@@ -598,7 +498,7 @@ static int diskstats_show(struct seq_fil
+@@ -593,7 +493,7 @@ static int diskstats_show(struct seq_fil
int n = 0;
/*
@@ -625,7 +625,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
seq_puts(s, "major minor name"
" rio rmerge rsect ruse wio wmerge "
"wsect wuse running use aveq"
-@@ -642,6 +542,25 @@ struct seq_operations diskstats_op = {
+@@ -637,6 +537,25 @@ struct seq_operations diskstats_op = {
.show = diskstats_show
};
@@ -651,7 +651,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
struct gendisk *alloc_disk(int minors)
{
return alloc_disk_node(minors, -1);
-@@ -668,9 +587,11 @@ struct gendisk *alloc_disk_node(int mino
+@@ -663,9 +582,11 @@ struct gendisk *alloc_disk_node(int mino
memset(disk->part, 0, size);
}
disk->minors = minors;
@@ -665,7 +665,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
return disk;
}
-@@ -688,7 +609,7 @@ struct kobject *get_disk(struct gendisk
+@@ -683,7 +604,7 @@ struct kobject *get_disk(struct gendisk
owner = disk->fops->owner;
if (owner && !try_module_get(owner))
return NULL;
@@ -674,7 +674,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (kobj == NULL) {
module_put(owner);
return NULL;
-@@ -702,7 +623,7 @@ EXPORT_SYMBOL(get_disk);
+@@ -697,7 +618,7 @@ EXPORT_SYMBOL(get_disk);
void put_disk(struct gendisk *disk)
{
if (disk)
@@ -704,7 +704,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
--- gregkh-2.6.orig/drivers/base/core.c
+++ gregkh-2.6/drivers/base/core.c
-@@ -717,7 +717,7 @@ void device_del(struct device * dev)
+@@ -731,7 +731,7 @@ void device_del(struct device * dev)
sysfs_remove_link(&dev->class->subsys.kset.kobj,
dev->bus_id);
#ifdef CONFIG_SYSFS_DEPRECATED
@@ -920,7 +920,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
static struct kobject *bdev_get_holder(struct block_device *bdev)
-@@ -1157,7 +1157,7 @@ static int do_open(struct block_device *
+@@ -1164,7 +1164,7 @@ static int do_open(struct block_device *
ret = -ENXIO;
goto out_first;
}
@@ -929,7 +929,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
bdev->bd_part = p;
bd_set_size(bdev, (loff_t) p->nr_sects << 9);
}
-@@ -1280,7 +1280,7 @@ static int __blkdev_put(struct block_dev
+@@ -1287,7 +1287,7 @@ static int __blkdev_put(struct block_dev
module_put(owner);
if (bdev->bd_contains != bdev) {
diff --git a/driver-class/sys-subsys-unification.patch b/driver-class/sys-subsys-unification.patch
index 06b82f6a7c3c94..4fe05197ef69c5 100644
--- a/driver-class/sys-subsys-unification.patch
+++ b/driver-class/sys-subsys-unification.patch
@@ -28,13 +28,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/base/base.h | 4 -
drivers/base/bus.c | 39 ++++++++-----
drivers/base/class.c | 135 ++++++++++++++++++++++++++++++------------------
- drivers/base/core.c | 80 ++++++++++++++++------------
+ drivers/base/core.c | 78 ++++++++++++++++-----------
drivers/base/sys.c | 2
drivers/usb/core/file.c | 62 ++--------------------
drivers/usb/core/usb.c | 6 ++
drivers/usb/core/usb.h | 1
include/linux/device.h | 8 ++
- 9 files changed, 177 insertions(+), 160 deletions(-)
+ 9 files changed, 177 insertions(+), 158 deletions(-)
--- gregkh-2.6.orig/drivers/base/base.h
+++ gregkh-2.6/drivers/base/base.h
@@ -414,18 +414,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- gregkh-2.6.orig/drivers/base/core.c
+++ gregkh-2.6/drivers/base/core.c
-@@ -18,19 +18,13 @@
- #include <linux/string.h>
- #include <linux/kdev_t.h>
- #include <linux/notifier.h>
--
- #include <asm/semaphore.h>
--
- #include "base.h"
- #include "power/power.h"
-
- int (*platform_notify)(struct device * dev) = NULL;
- int (*platform_notify_remove)(struct device * dev) = NULL;
+@@ -41,10 +41,6 @@ bool is_lanana_major(unsigned int major)
+ return 0;
+ }
-/*
- * sysfs bindings for devices.
@@ -434,7 +425,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/**
* dev_driver_string - Return a device's driver name, if at all possible
* @dev: struct device to get the name of
-@@ -205,6 +199,14 @@ static int dev_uevent(struct kset *kset,
+@@ -219,6 +215,14 @@ static int dev_uevent(struct kset *kset,
buffer = &buffer[length];
buffer_size -= length;
@@ -449,7 +440,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (dev->bus && dev->bus->uevent) {
/* have the bus specific function add its stuff */
retval = dev->bus->uevent(dev, envp, num_envp, buffer, buffer_size);
-@@ -221,14 +223,6 @@ static int dev_uevent(struct kset *kset,
+@@ -235,14 +239,6 @@ static int dev_uevent(struct kset *kset,
__FUNCTION__, retval);
}
@@ -464,7 +455,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return retval;
}
-@@ -330,13 +324,6 @@ static ssize_t show_dev(struct device *d
+@@ -344,13 +340,6 @@ static ssize_t show_dev(struct device *d
return print_dev_t(buf, dev->devt);
}
@@ -478,7 +469,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/**
* device_create_file - create sysfs attribute file for device.
* @dev: device.
-@@ -563,13 +550,21 @@ int device_add(struct device *dev)
+@@ -577,13 +566,21 @@ int device_add(struct device *dev)
}
if (dev->class) {
@@ -507,7 +498,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#ifdef CONFIG_SYSFS_DEPRECATED
if (parent) {
sysfs_create_link(&dev->kobj, &dev->parent->kobj,
-@@ -710,12 +705,18 @@ void device_del(struct device * dev)
+@@ -724,12 +721,18 @@ void device_del(struct device * dev)
kfree(dev->devt_attr);
}
if (dev->class) {
@@ -531,7 +522,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#ifdef CONFIG_SYSFS_DEPRECATED
if (parent && parent->bus) {
char *class_name = make_class_name(dev->class->name,
-@@ -840,9 +841,20 @@ struct device * device_find_child(struct
+@@ -854,9 +857,20 @@ struct device * device_find_child(struct
return child;
}
diff --git a/driver/driver-core-don-t-fail-attaching-the-device-if-it-cannot-be-bound.patch b/driver/driver-core-don-t-fail-attaching-the-device-if-it-cannot-be-bound.patch
index 525e7b51f822b9..d26be9015c383d 100644
--- a/driver/driver-core-don-t-fail-attaching-the-device-if-it-cannot-be-bound.patch
+++ b/driver/driver-core-don-t-fail-attaching-the-device-if-it-cannot-be-bound.patch
@@ -80,7 +80,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
--- gregkh-2.6.orig/drivers/base/core.c
+++ gregkh-2.6/drivers/base/core.c
-@@ -593,8 +593,7 @@ int device_add(struct device *dev)
+@@ -607,8 +607,7 @@ int device_add(struct device *dev)
goto BusError;
if (!dev->uevent_suppress)
kobject_uevent(&dev->kobj, KOBJ_ADD);
@@ -90,7 +90,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (parent)
klist_add_tail(&dev->knode_parent, &parent->klist_children);
-@@ -613,8 +612,6 @@ int device_add(struct device *dev)
+@@ -627,8 +626,6 @@ int device_add(struct device *dev)
kfree(class_name);
put_device(dev);
return error;
diff --git a/driver/put_device-might_sleep.patch b/driver/put_device-might_sleep.patch
index b370e0ab2fdf60..c92599a7567f51 100644
--- a/driver/put_device-might_sleep.patch
+++ b/driver/put_device-might_sleep.patch
@@ -12,7 +12,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- gregkh-2.6.orig/drivers/base/core.c
+++ gregkh-2.6/drivers/base/core.c
-@@ -678,6 +678,7 @@ struct device * get_device(struct device
+@@ -692,6 +692,7 @@ struct device * get_device(struct device
*/
void put_device(struct device * dev)
{
diff --git a/series b/series
index 22b3341c97b613..1a807267758a71 100644
--- a/series
+++ b/series
@@ -34,6 +34,8 @@ driver/warn-when-statically-allocated-kobjects-are-used.patch
# pci patches for after 2.6.21 is out
# usb patches queued for 2.6.21 (bugfixes, new ids, etc.)
+usb/usb-option-device-ids.patch
+usb/usb-option-new-device-ids.patch
usb/usb-iowarrior.patch
@@ -67,3 +69,4 @@ driver-class/block-device.patch
driver-class/sys-subsys-unification.patch
driver-class/ieee1394-class-devices.patch
+
diff --git a/usb/usb-option-device-ids.patch b/usb/usb-option-device-ids.patch
new file mode 100644
index 00000000000000..5f8ab8de3402db
--- /dev/null
+++ b/usb/usb-option-device-ids.patch
@@ -0,0 +1,48 @@
+From foo@baz Tue Apr 9 12:12:43 2002
+Date: Wed, 21 Feb 2007 12:53:17 -0800
+To: Greg KH <greg@kroah.com>
+From: Greg Kroah-Hartman <gregkh@suse.de>
+Subject: USB: option: remove duplicate device id table
+
+There is no need to have two tables with the same device ids in it.
+
+Cc: Matthias Urlichs <smurf@smurf.noris.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/option.c | 17 +----------------
+ 1 file changed, 1 insertion(+), 16 deletions(-)
+
+--- gregkh-2.6.orig/drivers/usb/serial/option.c
++++ gregkh-2.6/drivers/usb/serial/option.c
+@@ -96,21 +96,6 @@ static struct usb_device_id option_ids[]
+ { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ID) },
+ { } /* Terminating entry */
+ };
+-
+-static struct usb_device_id option_ids1[] = {
+- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_OLD) },
+- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION) },
+- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION2) },
+- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA) },
+- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA2) },
+- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_GTMAX36) },
+- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) },
+- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220) },
+- { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID,NOVATELWIRELESS_PRODUCT_U740) },
+- { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ID) },
+- { } /* Terminating entry */
+-};
+-
+ MODULE_DEVICE_TABLE(usb, option_ids);
+
+ static struct usb_driver option_driver = {
+@@ -132,7 +117,7 @@ static struct usb_serial_driver option_1
+ },
+ .description = "GSM modem (1-port)",
+ .usb_driver = &option_driver,
+- .id_table = option_ids1,
++ .id_table = option_ids,
+ .num_interrupt_in = NUM_DONT_CARE,
+ .num_bulk_in = NUM_DONT_CARE,
+ .num_bulk_out = NUM_DONT_CARE,
diff --git a/usb/usb-option-new-device-ids.patch b/usb/usb-option-new-device-ids.patch
new file mode 100644
index 00000000000000..d2f68d3f5bd6e1
--- /dev/null
+++ b/usb/usb-option-new-device-ids.patch
@@ -0,0 +1,128 @@
+From foo@baz Tue Apr 9 12:12:43 2002
+Date: Wed, 21 Feb 2007 12:53:17 -0800
+To: Greg KH <greg@kroah.com>
+From: Greg Kroah-Hartman <gregkh@suse.de>
+Subject: USB: option: add a bunch of new device ids
+
+This adds all of the known Option device ids to the driver.
+Many thanks to some Option engineers for getting me this list.
+
+Cc: Matthias Urlichs <smurf@smurf.noris.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/option.c | 100 +++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 80 insertions(+), 20 deletions(-)
+
+--- gregkh-2.6.orig/drivers/usb/serial/option.c
++++ gregkh-2.6/drivers/usb/serial/option.c
+@@ -67,29 +67,89 @@ static int option_tiocmset(struct usb_s
+ static int option_send_setup(struct usb_serial_port *port);
+
+ /* Vendor and product IDs */
+-#define OPTION_VENDOR_ID 0x0AF0
+-#define HUAWEI_VENDOR_ID 0x12D1
+-#define NOVATELWIRELESS_VENDOR_ID 0x1410
+-#define ANYDATA_VENDOR_ID 0x16d5
+-
+-#define OPTION_PRODUCT_OLD 0x5000
+-#define OPTION_PRODUCT_FUSION 0x6000
+-#define OPTION_PRODUCT_FUSION2 0x6300
+-#define OPTION_PRODUCT_COBRA 0x6500
+-#define OPTION_PRODUCT_COBRA2 0x6600
+-#define OPTION_PRODUCT_GTMAX36 0x6701
+-#define HUAWEI_PRODUCT_E600 0x1001
+-#define HUAWEI_PRODUCT_E220 0x1003
+-#define NOVATELWIRELESS_PRODUCT_U740 0x1400
+-#define ANYDATA_PRODUCT_ID 0x6501
++#define OPTION_VENDOR_ID 0x0AF0
++#define OPTION_PRODUCT_COLT 0x5000
++#define OPTION_PRODUCT_RICOLA 0x6000
++#define OPTION_PRODUCT_RICOLA_LIGHT 0x6100
++#define OPTION_PRODUCT_RICOLA_QUAD 0x6200
++#define OPTION_PRODUCT_RICOLA_QUAD_LIGHT 0x6300
++#define OPTION_PRODUCT_RICOLA_NDIS 0x6050
++#define OPTION_PRODUCT_RICOLA_NDIS_LIGHT 0x6150
++#define OPTION_PRODUCT_RICOLA_NDIS_QUAD 0x6250
++#define OPTION_PRODUCT_RICOLA_NDIS_QUAD_LIGHT 0x6350
++#define OPTION_PRODUCT_COBRA 0x6500
++#define OPTION_PRODUCT_COBRA_BUS 0x6501
++#define OPTION_PRODUCT_VIPER 0x6600
++#define OPTION_PRODUCT_VIPER_BUS 0x6601
++#define OPTION_PRODUCT_GT_MAX_READY 0x6701
++#define OPTION_PRODUCT_GT_MAX 0x6711
++#define OPTION_PRODUCT_FUJI_MODEM_LIGHT 0x6721
++#define OPTION_PRODUCT_FUJI_MODEM_GT 0x6741
++#define OPTION_PRODUCT_FUJI_MODEM_EX 0x6761
++#define OPTION_PRODUCT_FUJI_NETWORK_LIGHT 0x6731
++#define OPTION_PRODUCT_FUJI_NETWORK_GT 0x6751
++#define OPTION_PRODUCT_FUJI_NETWORK_EX 0x6771
++#define OPTION_PRODUCT_KOI_MODEM 0x6800
++#define OPTION_PRODUCT_KOI_NETWORK 0x6811
++#define OPTION_PRODUCT_SCORPION_MODEM 0x6901
++#define OPTION_PRODUCT_SCORPION_NETWORK 0x6911
++#define OPTION_PRODUCT_ETNA_MODEM 0x7001
++#define OPTION_PRODUCT_ETNA_NETWORK 0x7011
++#define OPTION_PRODUCT_ETNA_MODEM_LITE 0x7021
++#define OPTION_PRODUCT_ETNA_MODEM_GT 0x7041
++#define OPTION_PRODUCT_ETNA_MODEM_EX 0x7061
++#define OPTION_PRODUCT_ETNA_NETWORK_LITE 0x7031
++#define OPTION_PRODUCT_ETNA_NETWORK_GT 0x7051
++#define OPTION_PRODUCT_ETNA_NETWORK_EX 0x7071
++#define OPTION_PRODUCT_ETNA_KOI_MODEM 0x7100
++#define OPTION_PRODUCT_ETNA_KOI_NETWORK 0x7111
++
++#define HUAWEI_VENDOR_ID 0x12D1
++#define HUAWEI_PRODUCT_E600 0x1001
++#define HUAWEI_PRODUCT_E220 0x1003
++
++#define NOVATELWIRELESS_VENDOR_ID 0x1410
++#define NOVATELWIRELESS_PRODUCT_U740 0x1400
++
++#define ANYDATA_VENDOR_ID 0x16d5
++#define ANYDATA_PRODUCT_ID 0x6501
+
+ static struct usb_device_id option_ids[] = {
+- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_OLD) },
+- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION) },
+- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION2) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_LIGHT) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_QUAD) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_QUAD_LIGHT) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_NDIS) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_NDIS_LIGHT) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_NDIS_QUAD) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_NDIS_QUAD_LIGHT) },
+ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA) },
+- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA2) },
+- { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_GTMAX36) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA_BUS) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_VIPER) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_VIPER_BUS) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_GT_MAX_READY) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_GT_MAX) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUJI_MODEM_LIGHT) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUJI_MODEM_GT) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUJI_MODEM_EX) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUJI_NETWORK_LIGHT) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUJI_NETWORK_GT) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUJI_NETWORK_EX) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_KOI_MODEM) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_KOI_NETWORK) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_SCORPION_MODEM) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_SCORPION_NETWORK) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_MODEM) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_NETWORK) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_MODEM_LITE) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_MODEM_GT) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_MODEM_EX) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_NETWORK_LITE) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_NETWORK_GT) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_NETWORK_EX) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_KOI_MODEM) },
++ { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_KOI_NETWORK) },
+ { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) },
+ { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220) },
+ { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID,NOVATELWIRELESS_PRODUCT_U740) },
diff --git a/version b/version
index 03c80242978a1c..ee8220c2997929 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2.6.20-git15
+2.6.21-rc1