diff --git a/drivers/usb/serial/airprime.c b/drivers/usb/serial/airprime.c
index 104c043..fbc5b9b 100644
--- a/drivers/usb/serial/airprime.c
+++ b/drivers/usb/serial/airprime.c
@@ -31,7 +31,9 @@
 };
 
 static struct usb_serial_driver airprime_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"airprime",
 	.id_table =		id_table,
 	.num_interrupt_in =	NUM_DONT_CARE,
diff --git a/drivers/usb/serial/belkin_sa.c b/drivers/usb/serial/belkin_sa.c
index 6d84de4..4878961 100644
--- a/drivers/usb/serial/belkin_sa.c
+++ b/drivers/usb/serial/belkin_sa.c
@@ -122,7 +122,9 @@
 
 /* All of the device info needed for the serial converters */
 static struct usb_serial_driver belkin_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Belkin / Peracom / GoHubs USB Serial Adapter",
 	.short_name =		"belkin",
 	.id_table =		id_table_combined,
diff --git a/drivers/usb/serial/bus.c b/drivers/usb/serial/bus.c
index 5a0bcd3..b8364a8 100644
--- a/drivers/usb/serial/bus.c
+++ b/drivers/usb/serial/bus.c
@@ -57,13 +57,13 @@
 
 	driver = port->serial->type;
 	if (driver->port_probe) {
-		if (!try_module_get(driver->owner)) {
+		if (!try_module_get(driver->driver.owner)) {
 			dev_err(dev, "module get failed, exiting\n");
 			retval = -EIO;
 			goto exit;
 		}
 		retval = driver->port_probe (port);
-		module_put(driver->owner);
+		module_put(driver->driver.owner);
 		if (retval)
 			goto exit;
 	}
@@ -92,13 +92,13 @@
 
 	driver = port->serial->type;
 	if (driver->port_remove) {
-		if (!try_module_get(driver->owner)) {
+		if (!try_module_get(driver->driver.owner)) {
 			dev_err(dev, "module get failed, exiting\n");
 			retval = -EIO;
 			goto exit;
 		}
 		retval = driver->port_remove (port);
-		module_put(driver->owner);
+		module_put(driver->driver.owner);
 	}
 exit:
 	minor = port->number;
@@ -120,7 +120,6 @@
 	driver->driver.bus = &usb_serial_bus_type;
 	driver->driver.probe = usb_serial_device_probe;
 	driver->driver.remove = usb_serial_device_remove;
-	driver->driver.owner = driver->owner;
 
 	retval = driver_register(&driver->driver);
 
diff --git a/drivers/usb/serial/cp2101.c b/drivers/usb/serial/cp2101.c
index 0b45b58..81dd720 100644
--- a/drivers/usb/serial/cp2101.c
+++ b/drivers/usb/serial/cp2101.c
@@ -74,7 +74,9 @@
 };
 
 static struct usb_serial_driver cp2101_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name			= "CP2101",
 	.id_table		= id_table,
 	.num_interrupt_in	= 0,
diff --git a/drivers/usb/serial/cyberjack.c b/drivers/usb/serial/cyberjack.c
index 9f421a3..3441bad 100644
--- a/drivers/usb/serial/cyberjack.c
+++ b/drivers/usb/serial/cyberjack.c
@@ -84,7 +84,9 @@
 };
 
 static struct usb_serial_driver cyberjack_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Reiner SCT Cyberjack USB card reader",
 	.short_name =		"cyberjack",
 	.id_table =		id_table,
diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c
index 4fb8e59..b4069af 100644
--- a/drivers/usb/serial/cypress_m8.c
+++ b/drivers/usb/serial/cypress_m8.c
@@ -177,7 +177,9 @@
 
 
 static struct usb_serial_driver cypress_earthmate_device = {
-	.owner =			THIS_MODULE,
+	.driver = {
+		.owner =		THIS_MODULE,
+	},
 	.name =				"DeLorme Earthmate USB",
 	.short_name =			"earthmate",
 	.id_table =			id_table_earthmate,
@@ -204,7 +206,9 @@
 };
 
 static struct usb_serial_driver cypress_hidcom_device = {
-	.owner =			THIS_MODULE,
+	.driver = {
+		.owner =		THIS_MODULE,
+	},
 	.name =				"HID->COM RS232 Adapter",
 	.short_name =			"cyphidcom",
 	.id_table =			id_table_cyphidcomrs232,
diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c
index 66feb88..be9b495 100644
--- a/drivers/usb/serial/digi_acceleport.c
+++ b/drivers/usb/serial/digi_acceleport.c
@@ -504,7 +504,9 @@
 /* device info needed for the Digi serial converter */
 
 static struct usb_serial_driver digi_acceleport_2_device = {
-	.owner =			THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =				"Digi 2 port USB adapter",
 	.short_name =			"digi_2",
 	.id_table =			id_table_2,
@@ -531,7 +533,9 @@
 };
 
 static struct usb_serial_driver digi_acceleport_4_device = {
-	.owner =			THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =				"Digi 4 port USB adapter",
 	.short_name =			"digi_4",
 	.id_table =			id_table_4,
diff --git a/drivers/usb/serial/empeg.c b/drivers/usb/serial/empeg.c
index cbea8b3..3e6c4ba 100644
--- a/drivers/usb/serial/empeg.c
+++ b/drivers/usb/serial/empeg.c
@@ -113,7 +113,9 @@
 };
 
 static struct usb_serial_driver empeg_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Empeg",
 	.id_table =		id_table,
 	.num_interrupt_in =	0,
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 529e1a7..9d945de 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -563,7 +563,9 @@
 static __u32 ftdi_232bm_baud_to_divisor (int baud);
 
 static struct usb_serial_driver ftdi_sio_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"FTDI USB Serial Device",
 	.short_name =		"ftdi_sio",
 	.id_table =		id_table_combined,
diff --git a/drivers/usb/serial/garmin_gps.c b/drivers/usb/serial/garmin_gps.c
index 7361194..3fd98c0 100644
--- a/drivers/usb/serial/garmin_gps.c
+++ b/drivers/usb/serial/garmin_gps.c
@@ -1470,7 +1470,9 @@
 
 /* All of the device info needed */
 static struct usb_serial_driver garmin_device = {
-	.owner               = THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name                = "Garmin GPS usb/tty",
 	.short_name          = "garmin_gps",
 	.id_table            = id_table,
diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c
index 7f567bf..779bea0c 100644
--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -37,7 +37,9 @@
 
 /* All of the device info needed for the Generic Serial Converter */
 struct usb_serial_driver usb_serial_generic_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Generic",
 	.short_name =		"generic",
 	.id_table =		generic_device_ids,
diff --git a/drivers/usb/serial/hp4x.c b/drivers/usb/serial/hp4x.c
index b494699..4f3cbc0 100644
--- a/drivers/usb/serial/hp4x.c
+++ b/drivers/usb/serial/hp4x.c
@@ -45,7 +45,9 @@
 };
 
 static struct usb_serial_driver hp49gp_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"HP4X",
 	.id_table =		id_table,
 	.num_interrupt_in =	NUM_DONT_CARE,
diff --git a/drivers/usb/serial/io_tables.h b/drivers/usb/serial/io_tables.h
index 7314c04..28fb0d4 100644
--- a/drivers/usb/serial/io_tables.h
+++ b/drivers/usb/serial/io_tables.h
@@ -76,7 +76,9 @@
 MODULE_DEVICE_TABLE (usb, id_table_combined);
 
 static struct usb_serial_driver edgeport_2port_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner		= THIS_MODULE,
+	},
 	.name			= "Edgeport 2 port adapter",
 	.short_name		= "edgeport_2",
 	.id_table		= edgeport_2port_id_table,
@@ -104,7 +106,9 @@
 };
 
 static struct usb_serial_driver edgeport_4port_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner		= THIS_MODULE,
+	},
 	.name			= "Edgeport 4 port adapter",
 	.short_name		= "edgeport_4",
 	.id_table		= edgeport_4port_id_table,
@@ -132,7 +136,9 @@
 };
 
 static struct usb_serial_driver edgeport_8port_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner		= THIS_MODULE,
+	},
 	.name			= "Edgeport 8 port adapter",
 	.short_name		= "edgeport_8",
 	.id_table		= edgeport_8port_id_table,
diff --git a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c
index 4328cc7..74228a0 100644
--- a/drivers/usb/serial/io_ti.c
+++ b/drivers/usb/serial/io_ti.c
@@ -2983,7 +2983,9 @@
 
 
 static struct usb_serial_driver edgeport_1port_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name			= "Edgeport TI 1 port adapter",
 	.short_name		= "edgeport_ti_1",
 	.id_table		= edgeport_1port_id_table,
@@ -3011,7 +3013,9 @@
 };
 
 static struct usb_serial_driver edgeport_2port_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name			= "Edgeport TI 2 port adapter",
 	.short_name		= "edgeport_ti_2",
 	.id_table		= edgeport_2port_id_table,
diff --git a/drivers/usb/serial/ipaq.c b/drivers/usb/serial/ipaq.c
index 9a79ad8..9aedfb9 100644
--- a/drivers/usb/serial/ipaq.c
+++ b/drivers/usb/serial/ipaq.c
@@ -548,7 +548,9 @@
 
 /* All of the device info needed for the Compaq iPAQ */
 static struct usb_serial_driver ipaq_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"PocketPC PDA",
 	.id_table =		ipaq_id_table,
 	.num_interrupt_in =	NUM_DONT_CARE,
diff --git a/drivers/usb/serial/ipw.c b/drivers/usb/serial/ipw.c
index 04524d3..2ba6962 100644
--- a/drivers/usb/serial/ipw.c
+++ b/drivers/usb/serial/ipw.c
@@ -444,7 +444,9 @@
 }
 
 static struct usb_serial_driver ipw_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"IPWireless converter",
 	.short_name =		"ipw",
 	.id_table =		usb_ipw_ids,
diff --git a/drivers/usb/serial/ir-usb.c b/drivers/usb/serial/ir-usb.c
index ecfb206..bf07905 100644
--- a/drivers/usb/serial/ir-usb.c
+++ b/drivers/usb/serial/ir-usb.c
@@ -134,7 +134,9 @@
 
 
 static struct usb_serial_driver ir_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"IR Dongle",
 	.id_table =		id_table,
 	.num_interrupt_in =	1,
diff --git a/drivers/usb/serial/keyspan.h b/drivers/usb/serial/keyspan.h
index 97e7d9e..124d46e 100644
--- a/drivers/usb/serial/keyspan.h
+++ b/drivers/usb/serial/keyspan.h
@@ -571,7 +571,9 @@
 
 /* Structs for the devices, pre and post renumeration. */
 static struct usb_serial_driver keyspan_pre_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner		= THIS_MODULE,
+	},
 	.name			= "Keyspan - (without firmware)",
 	.short_name		= "keyspan_no_firm",
 	.id_table		= keyspan_pre_ids,
@@ -583,7 +585,9 @@
 };
 
 static struct usb_serial_driver keyspan_1port_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner		= THIS_MODULE,
+	},
 	.name			= "Keyspan 1 port adapter",
 	.short_name		= "keyspan_1",
 	.id_table		= keyspan_1port_ids,
@@ -608,7 +612,9 @@
 };
 
 static struct usb_serial_driver keyspan_2port_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner		= THIS_MODULE,
+	},
 	.name			= "Keyspan 2 port adapter",
 	.short_name		= "keyspan_2",
 	.id_table		= keyspan_2port_ids,
@@ -633,7 +639,9 @@
 };
 
 static struct usb_serial_driver keyspan_4port_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner		= THIS_MODULE,
+	},
 	.name			= "Keyspan 4 port adapter",
 	.short_name		= "keyspan_4",
 	.id_table		= keyspan_4port_ids,
diff --git a/drivers/usb/serial/keyspan_pda.c b/drivers/usb/serial/keyspan_pda.c
index 8fad0e9..389b783 100644
--- a/drivers/usb/serial/keyspan_pda.c
+++ b/drivers/usb/serial/keyspan_pda.c
@@ -784,7 +784,9 @@
 
 #ifdef KEYSPAN
 static struct usb_serial_driver keyspan_pda_fake_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Keyspan PDA - (prerenumeration)",
 	.short_name =		"keyspan_pda_pre",
 	.id_table =		id_table_fake,
@@ -798,7 +800,9 @@
 
 #ifdef XIRCOM
 static struct usb_serial_driver xircom_pgs_fake_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Xircom / Entregra PGS - (prerenumeration)",
 	.short_name =		"xircom_no_firm",
 	.id_table =		id_table_fake_xircom,
@@ -811,7 +815,9 @@
 #endif
 
 static struct usb_serial_driver keyspan_pda_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Keyspan PDA",
 	.short_name =		"keyspan_pda",
 	.id_table =		id_table_std,
diff --git a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb105.c
index be08270..586108c 100644
--- a/drivers/usb/serial/kl5kusb105.c
+++ b/drivers/usb/serial/kl5kusb105.c
@@ -124,7 +124,9 @@
 };
 
 static struct usb_serial_driver kl5kusb105d_device = {
-	.owner =             THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =		     "KL5KUSB105D / PalmConnect",
 	.short_name =	     "kl5kusb105d",
 	.id_table =	     id_table,
diff --git a/drivers/usb/serial/kobil_sct.c b/drivers/usb/serial/kobil_sct.c
index 9494434..a9578e0 100644
--- a/drivers/usb/serial/kobil_sct.c
+++ b/drivers/usb/serial/kobil_sct.c
@@ -106,7 +106,9 @@
 
 
 static struct usb_serial_driver kobil_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"KOBIL USB smart card terminal",
 	.id_table =		id_table,
 	.num_interrupt_in =	NUM_DONT_CARE,
diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c
index 94709643..7dcf91c 100644
--- a/drivers/usb/serial/mct_u232.c
+++ b/drivers/usb/serial/mct_u232.c
@@ -133,7 +133,9 @@
 };
 
 static struct usb_serial_driver mct_u232_device = {
-	.owner =	     THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =		     "MCT U232",
 	.short_name =	     "mct_u232",
 	.id_table =	     id_table_combined,
diff --git a/drivers/usb/serial/omninet.c b/drivers/usb/serial/omninet.c
index 53c0588..f6327cc1 100644
--- a/drivers/usb/serial/omninet.c
+++ b/drivers/usb/serial/omninet.c
@@ -89,7 +89,9 @@
 
 
 static struct usb_serial_driver zyxel_omninet_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"ZyXEL - omni.net lcd plus usb",
 	.short_name =		"omninet",
 	.id_table =		id_table,
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 6ec9266..a2b5adf 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -106,7 +106,9 @@
  * recognizes separately, thus num_port=1.
  */
 static struct usb_serial_driver option_3port_device = {
-	.owner             = THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name              = "Option 3G data card",
 	.short_name        = "option",
 	.id_table          = option_ids,
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 7134648..beef3c4 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -176,7 +176,9 @@
 
 /* All of the device info needed for the PL2303 SIO serial converter */
 static struct usb_serial_driver pl2303_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"PL-2303",
 	.id_table =		id_table,
 	.num_interrupt_in =	NUM_DONT_CARE,
diff --git a/drivers/usb/serial/safe_serial.c b/drivers/usb/serial/safe_serial.c
index 87871bb..42a86ab 100644
--- a/drivers/usb/serial/safe_serial.c
+++ b/drivers/usb/serial/safe_serial.c
@@ -398,7 +398,9 @@
 }
 
 static struct usb_serial_driver safe_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Safe",
 	.id_table =		id_table,
 	.num_interrupt_in =	NUM_DONT_CARE,
diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
index f2efaf6..eab8a6d 100644
--- a/drivers/usb/serial/ti_usb_3410_5052.c
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
@@ -256,7 +256,9 @@
 };
 
 static struct usb_serial_driver ti_1port_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name			= "TI USB 3410 1 port adapter",
 	.id_table		= ti_id_table_3410,
 	.num_interrupt_in	= 1,
@@ -283,7 +285,9 @@
 };
 
 static struct usb_serial_driver ti_2port_device = {
-	.owner			= THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name			= "TI USB 5052 2 port adapter",
 	.id_table		= ti_id_table_5052,
 	.num_interrupt_in	= 1,
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index cf083da..08f6003 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -507,7 +507,7 @@
 		/* lock this module before we call it
 		 * this may fail, which means we must bail out,
 		 * safe because we are called with BKL held */
-		if (!try_module_get(serial->type->owner)) {
+		if (!try_module_get(serial->type->driver.owner)) {
 			retval = -ENODEV;
 			goto bailout_kref_put;
 		}
@@ -522,7 +522,7 @@
 	return 0;
 
 bailout_module_put:
-	module_put(serial->type->owner);
+	module_put(serial->type->driver.owner);
 bailout_kref_put:
 	kref_put(&serial->kref, destroy_serial);
 	port->open_count = 0;
@@ -553,7 +553,7 @@
 			port->tty = NULL;
 		}
 
-		module_put(port->serial->type->owner);
+		module_put(port->serial->type->driver.owner);
 	}
 
 	kref_put(&port->serial->kref, destroy_serial);
@@ -718,8 +718,8 @@
 			continue;
 
 		length += sprintf (page+length, "%d:", i);
-		if (serial->type->owner)
-			length += sprintf (page+length, " module:%s", module_name(serial->type->owner));
+		if (serial->type->driver.owner)
+			length += sprintf (page+length, " module:%s", module_name(serial->type->driver.owner));
 		length += sprintf (page+length, " name:\"%s\"", serial->type->name);
 		length += sprintf (page+length, " vendor:%04x product:%04x", 
 				   le16_to_cpu(serial->dev->descriptor.idVendor), 
@@ -900,7 +900,7 @@
 	if (type->probe) {
 		const struct usb_device_id *id;
 
-		if (!try_module_get(type->owner)) {
+		if (!try_module_get(type->driver.owner)) {
 			dev_err(&interface->dev, "module get failed, exiting\n");
 			kfree (serial);
 			return -EIO;
@@ -908,7 +908,7 @@
 
 		id = usb_match_id(interface, type->id_table);
 		retval = type->probe(serial, id);
-		module_put(type->owner);
+		module_put(type->driver.owner);
 
 		if (retval) {
 			dbg ("sub driver rejected device");
@@ -1007,13 +1007,13 @@
 	if (!num_ports) {
 		/* if this device type has a calc_num_ports function, call it */
 		if (type->calc_num_ports) {
-			if (!try_module_get(type->owner)) {
+			if (!try_module_get(type->driver.owner)) {
 				dev_err(&interface->dev, "module get failed, exiting\n");
 				kfree (serial);
 				return -EIO;
 			}
 			num_ports = type->calc_num_ports (serial);
-			module_put(type->owner);
+			module_put(type->driver.owner);
 		}
 		if (!num_ports)
 			num_ports = type->num_ports;
@@ -1158,12 +1158,12 @@
 	
 	/* if this device type has an attach function, call it */
 	if (type->attach) {
-		if (!try_module_get(type->owner)) {
+		if (!try_module_get(type->driver.owner)) {
 			dev_err(&interface->dev, "module get failed, exiting\n");
 			goto probe_error;
 		}
 		retval = type->attach (serial);
-		module_put(type->owner);
+		module_put(type->driver.owner);
 		if (retval < 0)
 			goto probe_error;
 		if (retval > 0) {
diff --git a/drivers/usb/serial/usb-serial.h b/drivers/usb/serial/usb-serial.h
index d6738b1..4ca5e0c 100644
--- a/drivers/usb/serial/usb-serial.h
+++ b/drivers/usb/serial/usb-serial.h
@@ -189,7 +189,6 @@
 
 /**
  * usb_serial_driver - describes a usb serial driver
- * @owner: pointer to the module that owns this driver.
  * @name: pointer to a string that describes this driver.  This string used
  *	in the syslog messages when a device is inserted or removed.
  * @short_name: a pointer to a string that describes this driver in
@@ -226,9 +225,11 @@
  * pointers are defined, then the USB serial core code will call them when
  * the corresponding tty port functions are called.  If they are not
  * called, the generic serial function will be used instead.
+ *
+ * The driver.owner field should be set to the module owner of this driver.
+ *
  */
 struct usb_serial_driver {
-	struct module *owner;
 	char	*name;
 	char	*short_name;
 	const struct usb_device_id *id_table;
diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c
index 825451b..0ac0377 100644
--- a/drivers/usb/serial/visor.c
+++ b/drivers/usb/serial/visor.c
@@ -312,7 +312,9 @@
 
 /* All of the device info needed for the Handspring Visor, and Palm 4.0 devices */
 static struct usb_serial_driver handspring_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Handspring Visor / Palm OS",
 	.short_name =		"visor",
 	.id_table =		id_table,
@@ -340,7 +342,9 @@
 
 /* All of the device info needed for the Clie UX50, TH55 Palm 5.0 devices */
 static struct usb_serial_driver clie_5_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Sony Clie 5.0",
 	.short_name =		"clie_5",
 	.id_table =		clie_id_5_table,
@@ -368,7 +372,9 @@
 
 /* device info for the Sony Clie OS version 3.5 */
 static struct usb_serial_driver clie_3_5_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Sony Clie 3.5",
 	.short_name =		"clie_3.5",
 	.id_table =		clie_id_3_5_table,
diff --git a/drivers/usb/serial/whiteheat.c b/drivers/usb/serial/whiteheat.c
index dc06664..fb95a34 100644
--- a/drivers/usb/serial/whiteheat.c
+++ b/drivers/usb/serial/whiteheat.c
@@ -157,7 +157,9 @@
 static void whiteheat_write_callback	(struct urb *urb, struct pt_regs *regs);
 
 static struct usb_serial_driver whiteheat_fake_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Connect Tech - WhiteHEAT - (prerenumeration)",
 	.short_name =		"whiteheatnofirm",
 	.id_table =		id_table_prerenumeration,
@@ -170,7 +172,9 @@
 };
 
 static struct usb_serial_driver whiteheat_device = {
-	.owner =		THIS_MODULE,
+	.driver = {
+		.owner =	THIS_MODULE,
+	},
 	.name =			"Connect Tech - WhiteHEAT",
 	.short_name =		"whiteheat",
 	.id_table =		id_table_std,
