Here's a patch against 2.5.3-pre1 that removes the
iso_packet_descriptor_t typedef from include/linux/usb.h and replaces it
with "struct usb_iso_packet_descriptor".  All drivers in the kernel tree
that used the typedef have been changed.


diff -Nru a/drivers/isdn/hisax/st5481_d.c b/drivers/isdn/hisax/st5481_d.c
--- a/drivers/isdn/hisax/st5481_d.c	Thu Jan 17 16:29:30 2002
+++ b/drivers/isdn/hisax/st5481_d.c	Thu Jan 17 16:29:30 2002
@@ -297,7 +297,7 @@
 	unsigned int num_packets, packet_offset;
 	int len, buf_size, bytes_sent;
 	struct sk_buff *skb;
-	iso_packet_descriptor_t *desc;
+	struct usb_iso_packet_descriptor *desc;
 
 	if (d_out->fsm.state != ST_DOUT_NORMAL)
 		return;
diff -Nru a/drivers/isdn/hisax/st5481_usb.c b/drivers/isdn/hisax/st5481_usb.c
--- a/drivers/isdn/hisax/st5481_usb.c	Thu Jan 17 16:29:30 2002
+++ b/drivers/isdn/hisax/st5481_usb.c	Thu Jan 17 16:29:30 2002
@@ -560,7 +560,7 @@
  */
 int st5481_isoc_flatten(struct urb *urb)
 {
-	iso_packet_descriptor_t *pipd,*pend;
+	struct usb_iso_packet_descriptor *pipd,*pend;
 	unsigned char *src,*dst;
 	unsigned int len;
 	
diff -Nru a/drivers/usb/audio.c b/drivers/usb/audio.c
--- a/drivers/usb/audio.c	Thu Jan 17 16:29:30 2002
+++ b/drivers/usb/audio.c	Thu Jan 17 16:29:30 2002
@@ -298,12 +298,12 @@
 
 struct my_data_urb {
 	urb_t urb;
-	iso_packet_descriptor_t isoframe[DESCFRAMES];
+	struct usb_iso_packet_descriptor isoframe[DESCFRAMES];
 };
 
 struct my_sync_urb {
 	urb_t urb;
-	iso_packet_descriptor_t isoframe[SYNCFRAMES];
+	struct usb_iso_packet_descriptor isoframe[SYNCFRAMES];
 };
 
 
diff -Nru a/drivers/usb/devio.c b/drivers/usb/devio.c
--- a/drivers/usb/devio.c	Thu Jan 17 16:29:30 2002
+++ b/drivers/usb/devio.c	Thu Jan 17 16:29:30 2002
@@ -170,7 +170,7 @@
 
 static struct async *alloc_async(unsigned int numisoframes)
 {
-        unsigned int assize = sizeof(struct async) + numisoframes * sizeof(iso_packet_descriptor_t);
+        unsigned int assize = sizeof(struct async) + numisoframes * sizeof(struct usb_iso_packet_descriptor);
         struct async *as = kmalloc(assize, GFP_KERNEL);
         if (!as)
                 return NULL;
diff -Nru a/drivers/usb/hcd/ehci-sched.c b/drivers/usb/hcd/ehci-sched.c
--- a/drivers/usb/hcd/ehci-sched.c	Thu Jan 17 16:29:30 2002
+++ b/drivers/usb/hcd/ehci-sched.c	Thu Jan 17 16:29:30 2002
@@ -630,7 +630,7 @@
 	if (!(urb->transfer_flags & EHCI_STATE_UNLINK)
 			&& ehci->hcd.state != USB_STATE_HALT) {
 		int			i;
-		iso_packet_descriptor_t	*desc;
+		struct usb_iso_packet_descriptor	*desc;
 		struct ehci_itd		*first_itd = urb->hcpriv;
 
 		/* update status for this frame's transfers */
diff -Nru a/drivers/usb/usb.c b/drivers/usb/usb.c
--- a/drivers/usb/usb.c	Thu Jan 17 16:29:30 2002
+++ b/drivers/usb/usb.c	Thu Jan 17 16:29:30 2002
@@ -1088,7 +1088,7 @@
 {
 	urb_t *urb;
 
-	urb = (urb_t *)kmalloc(sizeof(urb_t) + iso_packets * sizeof(iso_packet_descriptor_t),
+	urb = (urb_t *)kmalloc(sizeof(urb_t) + iso_packets * sizeof(struct usb_iso_packet_descriptor),
 	      in_interrupt() ? GFP_ATOMIC : GFP_KERNEL);
 	if (!urb) {
 		err("alloc_urb: kmalloc failed");
diff -Nru a/include/linux/usb.h b/include/linux/usb.h
--- a/include/linux/usb.h	Thu Jan 17 16:29:30 2002
+++ b/include/linux/usb.h	Thu Jan 17 16:29:30 2002
@@ -576,13 +576,12 @@
 					/* ... less overhead for QUEUE_BULK */
 #define USB_TIMEOUT_KILLED	0x1000	/* only set by HCD! */
 
-typedef struct
-{
+struct usb_iso_packet_descriptor {
 	unsigned int offset;
 	unsigned int length;		/* expected length */
 	unsigned int actual_length;
 	unsigned int status;
-} iso_packet_descriptor_t;
+};
 
 struct urb;
 
@@ -741,7 +740,7 @@
 	int timeout;			/* (in) timeout, in jiffies */
 	void *context;			/* (in) context for completion */
 	usb_complete_t complete;	/* (in) completion routine */
-	iso_packet_descriptor_t iso_frame_desc[0];	/* (in) ISO ONLY */
+	struct usb_iso_packet_descriptor iso_frame_desc[0];	/* (in) ISO ONLY */
 };
 
 typedef struct urb urb_t;
