--- AdiUsbAdslDriver.c.orig 2003-09-11 19:48:46.000000000 +0200 +++ AdiUsbAdslDriver.c 2003-09-12 12:40:54.000000000 +0200 @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include "AdiUsbAdslDriver.h" @@ -275,7 +276,7 @@ } /* Try to select the first USB configuration: */ - if (usb_set_configuration(usb, usb->config[0].bConfigurationValue) < 0) + if (usb_set_configuration(usb, usb->config[0].desc.bConfigurationValue) < 0) { adi_err ("adi_probe : set_configuration failed.\n"); @@ -419,7 +420,7 @@ #ifdef USEBULK pHw->pIncomingData[i] = GET_KBUFFER(INCOMING_DATA_SIZE); #else - pHw->pUrbReadIso[i] = usb_alloc_urb(pHw->IsoFramesPerUrb); + pHw->pUrbReadIso[i] = usb_alloc_urb(pHw->IsoFramesPerUrb,in_interrupt() ? GFP_ATOMIC : GFP_KERNEL); pHw->pIncomingData[i] = GET_KBUFFER((pHw->IsoPipeSize * pHw->IsoFramesPerUrb)); #endif if (!pHw->pIncomingData[i]) @@ -534,10 +535,10 @@ usb_driver_claim_interface(&adi_driver, &(usb->actconfig->interface[1]), pHw); usb_driver_claim_interface(&adi_driver, &(usb->actconfig->interface[2]), pHw); /* Get information about our endpoints*/ - epoutidma = usb->actconfig->interface[1].altsetting[0].endpoint + 0; - epoutdata = usb->actconfig->interface[1].altsetting[0].endpoint + 1; + epoutidma = &usb->actconfig->interface[1]->altsetting[0].endpoint->desc; + epoutdata = &usb->actconfig->interface[1]->altsetting[0].endpoint->desc; #ifdef USEBULK - epindata = usb->actconfig->interface[2].altsetting[0].endpoint + 0; + epindata = &usb->actconfig->interface[2]->altsetting[0].endpoint->desc; #else /*ifdef USEBULK*/ /*******************************************************************************/ /* Need to eventually choose the alternate interface based on the train ds rate*/ @@ -552,7 +553,7 @@ } else { - epindata=usb->actconfig->interface[kUSB_INTF_IN].altsetting[kFASTEST_ISO_INTF].endpoint+0; + epindata=usb->actconfig->interface[kUSB_INTF_IN]->altsetting[kFASTEST_ISO_INTF].endpoint+0; } #endif /*ifdef USEBULK else*/ @@ -694,7 +695,7 @@ /* Unlink pending interrupt URBs: */ if (pHw->HasIntURB) { - pHw->urbInt.transfer_flags &= ~USB_ASYNC_UNLINK; + pHw->urbInt.transfer_flags &= ~URB_ASYNC_UNLINK; usb_unlink_urb(&pHw->urbInt); pHw->HasIntURB = FALSE; } @@ -1231,13 +1232,13 @@ { /* Get the USB endpoint for IDMA uploading: */ struct usb_endpoint_descriptor *epint = - dev->actconfig->interface[0].altsetting[0].endpoint + 0; + &dev->actconfig->interface[0]->altsetting[0].endpoint->desc; /* Install the interrupt handler to send IDMA pages to the modem and handle further incoming data: */ usb_fill_int_urb(&pHw->urbInt, dev, pHw->pipeIntIn, pHw->pInterruptData, sizeof(CDC_NOTIFY), adi_irq, pHw, epint->bInterval); pHw->HasIntURB = TRUE; - if (usb_submit_urb(&pHw->urbInt) < 0) + if (usb_submit_urb(&pHw->urbInt,0) < 0) { adi_err ("Unable to submit interrupt URB!\n"); @@ -1573,7 +1574,7 @@ /* Stop our outgoing data urbs */ if (pHw->IsWriting) { - pHw->urbWrite.transfer_flags &= ~USB_ASYNC_UNLINK; + pHw->urbWrite.transfer_flags &= ~URB_ASYNC_UNLINK; usb_unlink_urb(&pHw->urbWrite); } @@ -1787,10 +1788,10 @@ URB. This will call WriteCompletion, which will call netif_wakequeue: */ - pHw->urbWrite.transfer_flags |= USB_ASYNC_UNLINK; + pHw->urbWrite.transfer_flags |= URB_ASYNC_UNLINK; usb_unlink_urb(&pHw->urbWrite); - pHw->urbOAMWrite.transfer_flags |= USB_ASYNC_UNLINK; + pHw->urbOAMWrite.transfer_flags |= URB_ASYNC_UNLINK; usb_unlink_urb(&pHw->urbOAMWrite); /* We must reset the transaction time to keep the watchdog quiet: */ --- Boot.c.orig 2003-09-12 12:43:26.000000000 +0200 +++ Boot.c 2003-09-12 14:22:12.000000000 +0200 @@ -29,7 +29,8 @@ #include "Util.h" #include "Me.h" #include "debug.h" - +#define USB_ST_NOERROR 0 +#define USB_QUEUE_BULK 0x0010 /*********************************************************************************/ /* Local only prototypes */ /*********************************************************************************/ @@ -465,14 +466,14 @@ memcpy(xfer_buf, pData, Size); /* Get an URB and prepare it for submission*/ - urb = usb_alloc_urb(0); + urb = usb_alloc_urb(0,0); usb_fill_bulk_urb(urb, pHw->usbdev, pHw->pipeBulkIdmaOut, xfer_buf, Size, IDMACompletion, pHw); urb->transfer_flags |= USB_QUEUE_BULK; adi_dbg (DBG_BOOT,"Submitting BULK URB %p\n", urb); - ret = usb_submit_urb(urb); + ret = usb_submit_urb(urb,0); IDMA_exit: adi_leaves (DBG_BOOT); --- Me.c.orig 2003-09-12 14:56:03.000000000 +0200 +++ Me.c 2003-09-12 14:55:47.000000000 +0200 @@ -126,7 +126,7 @@ #include "Sm.h" #include "Msg.h" #include "debug.h" - +#define USB_ST_NOERROR 0 /***************************************************************************************/ /* ProcessIncomingCmv */ /* */ --- Oam.c.orig 2003-09-12 14:56:41.000000000 +0200 +++ Oam.c 2003-09-12 14:57:11.000000000 +0200 @@ -19,6 +19,7 @@ #include "Adiutil.h" #include "debug.h" +#define USB_ST_NOERROR 0 //--------------------------------------------------------------------------- // Some sample OAM cells from Dennis Chan ... @@ -547,7 +548,7 @@ FILL_BULK_URB(&pHw->urbOAMWrite, pHw->usbdev, pHw->pipeBulkDataOut, pCell,uiTotalBytes , AmoebaCompletion, pHw); - result = usb_submit_urb(&pHw->urbOAMWrite); + result = usb_submit_urb(&pHw->urbOAMWrite,0); adi_dbg (DBG_OAM,"usb_submit_urb result=%d \n",result); adi_leaves (DBG_OAM); --- Pipes.c.orig 2003-09-12 14:27:57.000000000 +0200 +++ Pipes.c 2003-09-12 15:42:29.091320528 +0200 @@ -49,6 +49,8 @@ /* the DMA of an incoming packet could be happening while the CPU is doing the */ /* reassembly of another packet. */ /**********************************************************************************/ +#define USB_ST_NOERROR 0 +#define USB_QUEUE_BULK 0x0010 void StartReadPipe(Hardware *pHw) { int result; @@ -92,7 +94,7 @@ memset(pUrb, 0, sizeof(*pUrb)); spin_lock_init(&pUrb->lock); /*Init the URB fields per the spec*/ - pUrb->next = pHw->pUrbReadIso[(i+1) % INCOMING_Q_SIZE]; +// pUrb->next = pHw->pUrbReadIso[(i+1) % INCOMING_Q_SIZE]; pUrb->dev = pHw->usbdev; pUrb->pipe = pHw->pipeIsoDataIn; pUrb->context = pHw; @@ -100,7 +102,7 @@ pUrb->transfer_buffer = pHw->pIncomingData[i]; pUrb->transfer_buffer_length = pHw->IsoPipeSize * pHw->IsoFramesPerUrb; pUrb->number_of_packets = pHw->IsoFramesPerUrb; - pUrb->transfer_flags = USB_ISO_ASAP; + pUrb->transfer_flags = URB_ISO_ASAP; /* CC - FIXME : Voir ce que ces flags signifient avant de les activer : pUrb->transfer_flags &= ~USB_DISABLE_SPD; // Curieux: cela suppose que ISO_ASAP contiendrait DISABLE_SPD ? @@ -119,7 +121,7 @@ for (i=0; ipUrbReadIso[i]))) + if ((result = usb_submit_urb(pHw->pUrbReadIso[i],0))) { adi_dbg (DBG_READ,"Error %d on ISO read URB submit.\n", result); @@ -232,7 +234,7 @@ memset(urb, 0, sizeof(*urb)); usb_fill_bulk_urb(urb, pHw->usbdev, pHw->pipeBulkDataIn, urb->transfer_buffer, INCOMING_DATA_SIZE, ReadBulkCompletion, pHw); - if ((result = usb_submit_urb(urb))) + if ((result = usb_submit_urb(urb,0))) { adi_dbg (DBG_READ,"Error %d on read URB submit.\n", result); @@ -374,10 +376,10 @@ for (i=0; iurbRead[i].transfer_flags &= ~USB_ASYNC_UNLINK; + pHw->urbRead[i].transfer_flags &= ~URB_ASYNC_UNLINK; usb_unlink_urb(&pHw->urbRead[i]); #else - pHw->pUrbReadIso[i]->transfer_flags &= ~USB_ASYNC_UNLINK; + pHw->pUrbReadIso[i]->transfer_flags &= ~URB_ASYNC_UNLINK; usb_unlink_urb(pHw->pUrbReadIso[i]); #endif } @@ -526,7 +528,7 @@ pHw->urbWrite.transfer_flags |= USB_QUEUE_BULK; /* Send it: */ - result = usb_submit_urb(&pHw->urbWrite); + result = usb_submit_urb(&pHw->urbWrite,0); } else { @@ -593,7 +595,7 @@ -EINVAL. */ urb->status = 0; - urb->transfer_flags &= ~USB_ASYNC_UNLINK; + urb->transfer_flags &= ~URB_ASYNC_UNLINK; } else { --- Sm.c.orig 2003-09-12 14:56:18.000000000 +0200 +++ Sm.c 2003-09-12 14:56:29.000000000 +0200 @@ -58,6 +58,7 @@ /* Rewrite for MAC OS, 09/2001 */ /* */ /************************************************************************************/ +#define USB_ST_NOERROR 0 void ModemSM(UInt16 uEventCode, Hardware *pHw, void *pData) { UInt32 DspStatus; --- Util.c.niedakh 2003-06-04 00:52:10.000000000 +0200 +++ Util.c 2003-09-12 15:53:46.430349344 +0200 @@ -29,7 +29,7 @@ #include "Konst.h" #include "debug.h" #include "Firmware8051.h" - +#define USB_ST_NOERROR 0 /**********************************************************************************/ /* Local utilities */ /**********************************************************************************/ @@ -293,7 +293,7 @@ pdr = (devrequest *)(xfer_buf+CMV_DATA_WORDS*2); /*Get an URB and prepare it for submission*/ - urb = usb_alloc_urb(0); + urb = usb_alloc_urb(0,0); FILL_USB_CTRL_REQUEST(pdr, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, @@ -332,7 +332,7 @@ pdr = (devrequest *)(xfer_buf+CMV_DATA_WORDS*2); /*Get an URB and prepare it for submission*/ - urb = usb_alloc_urb(0); + urb = usb_alloc_urb(0,0); FILL_USB_CTRL_REQUEST(pdr, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, @@ -484,7 +484,7 @@ if ( list_was_empty ) { adi_dbg(DBG_UTILS,"Submit urb %p immediately\n", urb); - ret = usb_submit_urb (urb); + ret = usb_submit_urb (urb,0); if ( ret != 0 ) { adi_err ("Failed to send ctrl urb (%p) with err=%d\n", @@ -662,7 +662,7 @@ adi_dbg(DBG_UTILS,"rm_queued_urb: Submitting urb %p\n",qhead->urb); - ret = usb_submit_urb ( qhead->urb ); + ret = usb_submit_urb ( qhead->urb , 0); if ( ret != 0 ) { adi_err ("Failed to send pending ctrl urb (%p) with err=%d\n", @@ -726,7 +726,7 @@ } - ret = usb_submit_urb (pHw->ctrl_urb_failed); + ret = usb_submit_urb (pHw->ctrl_urb_failed,0); if ( ret != 0 ) { adi_err ("ADI: Failed to send faulty ctrl urb (%p) with err=%d\n", @@ -777,7 +777,7 @@ /* We have to unlink it */ qhead = list_entry ( pHw->ctrl_urb_ipg_q.next, queued_urb_t, list); - qhead->urb->transfer_flags &= ~USB_ASYNC_UNLINK; + qhead->urb->transfer_flags &= ~URB_ASYNC_UNLINK; usb_unlink_urb(qhead->urb); } --- user/Makefile.orig 2003-09-13 20:44:11.207726216 +0200 +++ user/Makefile 2003-09-13 21:21:04.834203840 +0200 @@ -4,7 +4,7 @@ # Makefile for adictrl # -CFLAGS=-O2 -pipe -Wall -pedantic -DLINUX -g +CFLAGS=-O2 -I../../kern-fixed -DLINUX -Wall INSTALLDIR=/usr/sbin CONFIGDIR=/etc/analog INSTALLER = $(shell which install) --- user/adictrl.c.orig 2003-09-13 21:06:07.408633264 +0200 +++ user/adictrl.c 2003-09-13 21:23:39.022763616 +0200 @@ -31,9 +31,9 @@ #include #include #include -#include +#include "usb.h" #include -#include +#include "usbdevice_fs.h" #include #include @@ -179,7 +179,7 @@ * @bNumConfigurations * */ - +/* typedef struct usb_device_descriptor { uint8_t bLength; @@ -197,7 +197,8 @@ uint8_t iSerialNumber; uint8_t bNumConfigurations; } __attribute__((packed)) usb_dev_desc_t; - +*/ +typedef struct usb_device_descriptor __attribute__((packed)) usb_dev_desc_t; /** * cmv_msg_t - CMV message description. * Copied and adapted from Struct.sh in order to not enter