X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FUSB%2FCore%2Fhub.c;h=69599e18a2ac58fac8710bce2e78b087bab97300;hb=5f36351f213bb3983b70059814cdbf87d850e563;hp=849e8a3fd6c58a69149c6c2a54d43ce037ab9800;hpb=51ab5f489bc356940c95cc936fd0508e8f07ea97;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/USB/Core/hub.c b/KernelLand/Modules/USB/Core/hub.c index 849e8a3f..69599e18 100644 --- a/KernelLand/Modules/USB/Core/hub.c +++ b/KernelLand/Modules/USB/Core/hub.c @@ -7,6 +7,7 @@ */ #define DEBUG 1 #include +#include #define MAX_PORTS 32 // Not actually a max, but used for DeviceRemovable @@ -51,7 +52,7 @@ struct sHubInfo }; // === PROTOTYPES === -void Hub_Connected(tUSBInterface *Dev); +void Hub_Connected(tUSBInterface *Dev, void *Descriptors, size_t Length); void Hub_Disconnected(tUSBInterface *Dev); void Hub_PortStatusChange(tUSBInterface *Dev, int Endpoint, int Length, void *Data); void Hub_int_HandleChange(tUSBInterface *Dev, int Port); @@ -77,13 +78,13 @@ int Hub_DriverInitialise(char **Arguments) } #endif -void Hub_Connected(tUSBInterface *Dev) +void Hub_Connected(tUSBInterface *Dev, void *Descriptors, size_t Length) { struct sHubDescriptor hub_desc; struct sHubInfo *info; - // Read hub descriptor (Class descriptor 0x29) - USB_ReadDescriptor(Dev, 0x129, 0, sizeof(hub_desc), &hub_desc); + // Read hub descriptor (Class descriptor 0x9, destined for device) + USB_ReadDescriptor(Dev, 0x0129, 0, sizeof(hub_desc), &hub_desc); LOG("%i Ports", hub_desc.NbrPorts); LOG("Takes %i ms for power to stabilise", hub_desc.PwrOn2PwrGood*2);