X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Modules%2FUSB%2FCore%2Fhub.c;h=b737f0789c15761c12c098f5296a5ea50b1a235d;hb=89e41793b9d495d98633f90e6595722b8e5979d3;hp=08295b1f2233e3a7a09040b24c4628663eb12740;hpb=9c8d1751ca2eb1470a1707e42896262d19efe31d;p=tpg%2Facess2.git diff --git a/Modules/USB/Core/hub.c b/Modules/USB/Core/hub.c index 08295b1f..b737f078 100644 --- a/Modules/USB/Core/hub.c +++ b/Modules/USB/Core/hub.c @@ -5,6 +5,7 @@ * hub.c * - Basic hub driver */ +#define DEBUG 1 #include #define MAX_PORTS 32 // Not actually a max, but used for DeviceRemovable @@ -39,7 +40,7 @@ struct sHubInfo // === PROTOTYPES === void Hub_Connected(tUSBInterface *Dev); void Hub_Disconnected(tUSBInterface *Dev); -void Hub_PortStatusChange(tUSBInterface *Dev, int Length, void *Data); +void Hub_PortStatusChange(tUSBInterface *Dev, int Endpoint, int Length, void *Data); void Hub_int_HandleChange(tUSBInterface *Dev, int Port); // === GLOBALS === @@ -68,8 +69,8 @@ void Hub_Connected(tUSBInterface *Dev) struct sHubDescriptor hub_desc; struct sHubInfo *info; - // Read hub descriptor - USB_ReadDescriptor(Dev, 0x29, 0, sizeof(hub_desc), &hub_desc); + // Read hub descriptor (Class descriptor 0x29) + USB_ReadDescriptor(Dev, 0x129, 0, sizeof(hub_desc), &hub_desc); LOG("%i Ports", hub_desc.NbrPorts); LOG("Takes %i ms for power to stabilise", hub_desc.PwrOn2PwrGood*2); @@ -100,7 +101,7 @@ void Hub_Disconnected(tUSBInterface *Dev) free(info); } -void Hub_PortStatusChange(tUSBInterface *Dev, int Length, void *Data) +void Hub_PortStatusChange(tUSBInterface *Dev, int Endpoint, int Length, void *Data) { Uint8 *status = Data; struct sHubInfo *info = USB_GetDeviceDataPtr(Dev);