ChangeSet 1.1371.759.28, 2004/04/26 16:09:34-07:00, stern@rowland.harvard.edu

[PATCH] USB: Altsetting updates for usb/serial

The updates needed for proper altsetting handling among the USB serial
drivers turned out to be a lot easier than I expected, thanks to the
organization of the drivers.  Only a handful of changes were needed.


 drivers/usb/serial/io_ti.c       |    2 +-
 drivers/usb/serial/kobil_sct.c   |    2 +-
 drivers/usb/serial/safe_serial.c |    2 +-
 drivers/usb/serial/usb-serial.c  |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)


diff -Nru a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c
--- a/drivers/usb/serial/io_ti.c	Fri May 14 15:32:37 2004
+++ b/drivers/usb/serial/io_ti.c	Fri May 14 15:32:37 2004
@@ -995,7 +995,7 @@
 	if (status)
 		return status;
 
-	interface = &serial->serial->dev->config->interface[0]->altsetting->desc;
+	interface = &serial->serial->interface->cur_altsetting->desc;
 	if (!interface) {
 		dev_err (&serial->serial->dev->dev, "%s - no interface set, error!", __FUNCTION__);
 		return -ENODEV;
diff -Nru a/drivers/usb/serial/kobil_sct.c b/drivers/usb/serial/kobil_sct.c
--- a/drivers/usb/serial/kobil_sct.c	Fri May 14 15:32:37 2004
+++ b/drivers/usb/serial/kobil_sct.c	Fri May 14 15:32:37 2004
@@ -183,7 +183,7 @@
 	pdev = serial->dev;
  	actconfig = pdev->actconfig;
  	interface = actconfig->interface[0];
-	altsetting = interface->altsetting;
+	altsetting = interface->cur_altsetting;
  	endpoint = altsetting->endpoint;
   
  	for (i = 0; i < altsetting->desc.bNumEndpoints; i++) {
diff -Nru a/drivers/usb/serial/safe_serial.c b/drivers/usb/serial/safe_serial.c
--- a/drivers/usb/serial/safe_serial.c	Fri May 14 15:32:37 2004
+++ b/drivers/usb/serial/safe_serial.c	Fri May 14 15:32:37 2004
@@ -395,7 +395,7 @@
 
 static int safe_startup (struct usb_serial *serial)
 {
-	switch (serial->interface->altsetting->desc.bInterfaceProtocol) {
+	switch (serial->interface->cur_altsetting->desc.bInterfaceProtocol) {
 	case LINEO_SAFESERIAL_CRC:
 		break;
 	case LINEO_SAFESERIAL_CRC_PADDED:
diff -Nru a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
--- a/drivers/usb/serial/usb-serial.c	Fri May 14 15:32:37 2004
+++ b/drivers/usb/serial/usb-serial.c	Fri May 14 15:32:37 2004
@@ -1037,7 +1037,7 @@
 	     (dev->descriptor.idProduct == ATEN_PRODUCT_ID))) {
 		if (interface != dev->actconfig->interface[0]) {
 			/* check out the endpoints of the other interface*/
-			iface_desc = &dev->actconfig->interface[0]->altsetting[0];
+			iface_desc = &dev->actconfig->interface[0]->cur_altsetting;
 			for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
 				endpoint = &iface_desc->endpoint[i].desc;
 				if ((endpoint->bEndpointAddress & 0x80) &&
