diff -uN linux-2.6.16.orig/drivers/usb/serial/Kconfig linux-2.6.16/drivers/usb/serial/Kconfig
--- linux-2.6.16.orig/drivers/usb/serial/Kconfig	2006-07-19 21:52:03.000000000 +0200
+++ linux-2.6.16/drivers/usb/serial/Kconfig	2006-07-19 22:12:30.000000000 +0200
@@ -62,15 +62,6 @@
 	  To compile this driver as a module, choose M here: the
 	  module will be called airprime.
 
-config USB_SERIAL_ANYDATA
-	tristate "USB AnyData CDMA Wireless Driver"
-	depends on USB_SERIAL
-	help
-	  Say Y here if you want to use a AnyData CDMA device.
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called anydata.
-
 config USB_SERIAL_BELKIN
 	tristate "USB Belkin and Peracom Single Port Serial Driver"
 	depends on USB_SERIAL
@@ -465,12 +456,18 @@
 	  module will be called keyspan_pda.
 
 config USB_SERIAL_OPTION
-	tristate "USB Option PCMCIA serial driver"
-	depends on USB_SERIAL && USB_OHCI_HCD && PCCARD
+ 	tristate "USB driver for GSM and CDMA modems"
+	depends on USB_SERIAL
 	help
-	  Say Y here if you want to use an Option card. This is a
-	  GSM card, controlled by three serial ports which are connected
-	  via an OHCI adapter located on a PC card.
+ 	  Say Y here if you have a GSM or CDMA modem that's connected to USB.
+ 	  
+ 	  This driver also supports several PCMCIA cards which have a
+ 	  built-in OHCI-USB adapter and an internally-connected GSM modem.
+ 	  The USB bus on these cards is not accessible externally.
+  
+ 	  Supported devices include (some of?) those made by:
+ 	  Option, Huawei, Audiovox, Sierra Wireless, Novatel Wireless, or
+ 	  Anydata.
 
 	  To compile this driver as a module, choose M here: the
 	  module will be called option.
diff -uN linux-2.6.16.orig/drivers/usb/serial/Makefile linux-2.6.16/drivers/usb/serial/Makefile
--- linux-2.6.16.orig/drivers/usb/serial/Makefile	2006-07-19 21:52:03.000000000 +0200
+++ linux-2.6.16/drivers/usb/serial/Makefile	2006-07-19 22:12:58.000000000 +0200
@@ -12,7 +12,6 @@
 usbserial-objs	:= usb-serial.o generic.o bus.o $(usbserial-obj-y)
 
 obj-$(CONFIG_USB_SERIAL_AIRPRIME)		+= airprime.o
-obj-$(CONFIG_USB_SERIAL_ANYDATA)		+= anydata.o
 obj-$(CONFIG_USB_SERIAL_BELKIN)			+= belkin_sa.o
 obj-$(CONFIG_USB_SERIAL_CP2101)			+= cp2101.o
 obj-$(CONFIG_USB_SERIAL_CYBERJACK)		+= cyberjack.o
diff -uN linux-2.6.16.orig/drivers/usb/serial/option.c linux-2.6.16/drivers/usb/serial/option.c
--- linux-2.6.16.orig/drivers/usb/serial/option.c	2006-07-19 21:52:03.000000000 +0200
+++ linux-2.6.16/drivers/usb/serial/option.c	2006-07-19 22:15:23.000000000 +0200
@@ -33,9 +33,9 @@
 
 */
 
-#define DRIVER_VERSION "v0.4"
+#define DRIVER_VERSION "v0.4hellan"
 #define DRIVER_AUTHOR "Matthias Urlichs <smurf@smurf.noris.de>"
-#define DRIVER_DESC "Option Card (PC-Card to) USB to Serial Driver"
+#define DRIVER_DESC "USB Driver for GSM/CDMA modems"
 
 #include <linux/config.h>
 #include <linux/kernel.h>
@@ -76,12 +76,14 @@
 #define OPTION_VENDOR_ID			0x0AF0
 #define HUAWEI_VENDOR_ID			0x12D1
 #define AUDIOVOX_VENDOR_ID			0x0F3D
+#define ANYDATA_VENDOR_ID               0x16d5
 
 #define OPTION_PRODUCT_OLD		0x5000
 #define OPTION_PRODUCT_FUSION	0x6000
 #define OPTION_PRODUCT_FUSION2	0x6300
 #define HUAWEI_PRODUCT_E600     0x1001
 #define AUDIOVOX_PRODUCT_AIRCARD 0x0112
+#define ANYDATA_PRODUCT_ID              0x6501
 
 static struct usb_device_id option_ids[] = {
 	{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_OLD) },
@@ -89,6 +91,7 @@
 	{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION2) },
 	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) },
 	{ USB_DEVICE(AUDIOVOX_VENDOR_ID, AUDIOVOX_PRODUCT_AIRCARD) },
+	{ USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ID) },
 	{ } /* Terminating entry */
 };
 
@@ -110,7 +113,7 @@
 		.owner =	THIS_MODULE,
 		.name =		"option",
 	},
-	.description       = "Option 3G data card",
+	.description       = "GSM/CDMA modem",
 	.id_table          = option_ids,
 	.num_interrupt_in  = NUM_DONT_CARE,
 	.num_bulk_in       = NUM_DONT_CARE,
