diff options
Diffstat (limited to 'os/hal/src/usbh/hal_usbh_hub.c')
-rw-r--r-- | os/hal/src/usbh/hal_usbh_hub.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/os/hal/src/usbh/hal_usbh_hub.c b/os/hal/src/usbh/hal_usbh_hub.c index 56257b2..15c3534 100644 --- a/os/hal/src/usbh/hal_usbh_hub.c +++ b/os/hal/src/usbh/hal_usbh_hub.c @@ -15,10 +15,7 @@ limitations under the License. */ -#include <string.h> #include "hal.h" -#include "hal_usbh.h" -#include "usbh/internal.h" #if HAL_USBH_USE_HUB @@ -28,6 +25,7 @@ #include <string.h> #include "usbh/dev/hub.h" +#include "usbh/internal.h" #if USBHHUB_DEBUG_ENABLE_TRACE #define udbgf(f, ...) usbDbgPrintf(f, ##__VA_ARGS__) @@ -63,7 +61,7 @@ USBHHubDriver USBHHUBD[HAL_USBHHUB_MAX_INSTANCES]; -usbh_port_t USBHPorts[HAL_USBHHUB_MAX_PORTS]; +static usbh_port_t USBHPorts[HAL_USBHHUB_MAX_PORTS]; static usbh_baseclassdriver_t *hub_load(usbh_device_t *dev, const uint8_t *descriptor, uint16_t rem); static void hub_unload(usbh_baseclassdriver_t *drv); @@ -290,9 +288,18 @@ void usbhhubObjectInit(USBHHubDriver *hubdp) { memset(hubdp, 0, sizeof(*hubdp)); hubdp->info = &usbhhubClassDriverInfo; } + +void usbhhubInit(void) { + uint8_t i; + for (i = 0; i < HAL_USBHHUB_MAX_INSTANCES; i++) { + usbhhubObjectInit(&USBHHUBD[i]); + } +} + #else #if HAL_USE_USBH +#include <string.h> void _usbhub_port_object_init(usbh_port_t *port, USBHDriver *usbh, uint8_t number) { memset(port, 0, sizeof(*port)); port->number = number; |