-void USB_DeviceConnected(tUSBHub *Hub, int Port)
-{
- tUSBDevice *dev;
- if( Port >= Hub->nPorts ) return ;
- if( Hub->Devices[Port] ) return ;
-
- ENTER("pHub iPort", Hub, Port);
-
- // 0. Perform port init? (done in hub?)
-
- // Create structure
- dev = malloc(sizeof(tUSBDevice));
- dev->Next = NULL;
- dev->ParentHub = Hub;
- dev->Host = Hub->Device->Host;
- dev->Address = 0;
- dev->Driver = 0;
- dev->Data = 0;
-
- // 1. Assign an address
- dev->Address = USB_int_AllocateAddress(dev->Host);
- if(dev->Address == 0) {
- Log_Error("USB", "No addresses avaliable on host %p", dev->Host);
- free(dev);
- LEAVE('-');
- return ;
- }
- USB_int_SendSetupSetAddress(dev->Host, dev->Address);
- LOG("Assigned address %i", dev->Address);
-
- // 2. Get device information
-
- // Done.
- LEAVE('-');
-}
-
-void USB_DeviceDisconnected(tUSBHub *Hub, int Port)