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;