From 8946cb522b10465d3fe3a9846158dbff4e924240 Mon Sep 17 00:00:00 2001 From: Amir Hammad Date: Fri, 9 Sep 2016 18:33:26 +0200 Subject: lld: rework low level driver initialization Signed-off-by: Amir Hammad --- src/demo.c | 22 +++++++++++----------- src/usbh_core.c | 2 +- src/usbh_lld_stm32f4.c | 8 ++++---- 3 files changed, 16 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/demo.c b/src/demo.c index 44a94c0..a6b4196 100644 --- a/src/demo.c +++ b/src/demo.c @@ -122,6 +122,17 @@ static const usbh_dev_driver_t *device_drivers[] = { NULL }; +static const usbh_low_level_driver_t * const lld_drivers[] = { +#ifdef USE_STM32F4_USBH_DRIVER_FS + &usbh_lld_stm32f4_driver_fs, // Make sure USE_STM32F4_USBH_DRIVER_FS is defined in usbh_config.h +#endif + +#ifdef USE_STM32F4_USBH_DRIVER_HS + &usbh_lld_stm32f4_driver_hs, // Make sure USE_STM32F4_USBH_DRIVER_HS is defined in usbh_config.h +#endif + NULL + }; + static void gp_xbox_update(uint8_t device_id, gp_xbox_packet_t packet) { (void)device_id; @@ -218,7 +229,6 @@ int main(void) midi_driver_init(&midi_config); gpio_set(GPIOD, GPIO13); - /** * Pass array of supported low level drivers * In case of stm32f407, there are up to two supported OTG hosts on one chip. @@ -226,16 +236,6 @@ int main(void) * * Pass array of supported device drivers */ - const void *lld_drivers[] = { -#ifdef USE_STM32F4_USBH_DRIVER_FS - usbh_lld_stm32f4_driver_fs, // Make sure USE_STM32F4_USBH_DRIVER_FS is defined in usbh_config.h -#endif - -#ifdef USE_STM32F4_USBH_DRIVER_HS - usbh_lld_stm32f4_driver_hs, // Make sure USE_STM32F4_USBH_DRIVER_HS is defined in usbh_config.h -#endif - NULL - }; usbh_init(lld_drivers, device_drivers); gpio_clear(GPIOD, GPIO13); diff --git a/src/usbh_core.c b/src/usbh_core.c index 5448d6c..88fd665 100644 --- a/src/usbh_core.c +++ b/src/usbh_core.c @@ -176,7 +176,7 @@ static void device_register(void *descriptors, uint16_t descriptors_len, usbh_de LOG_PRINTF("Device NOT Initialized\n"); } -void usbh_init(const void *low_level_drivers[], const usbh_dev_driver_t * const device_drivers[]) +void usbh_init(const usbh_low_level_driver_t * const low_level_drivers[], const usbh_dev_driver_t * const device_drivers[]) { if (!low_level_drivers) { return; diff --git a/src/usbh_lld_stm32f4.c b/src/usbh_lld_stm32f4.c index aff12c5..5ac26e1 100644 --- a/src/usbh_lld_stm32f4.c +++ b/src/usbh_lld_stm32f4.c @@ -1022,7 +1022,7 @@ static usbh_lld_stm32f4_driver_data_t driver_data_fs = { .channels = channels_fs, .num_channels = NUM_CHANNELS_FS }; -static const usbh_low_level_driver_t driver_fs = { +const usbh_low_level_driver_t usbh_lld_stm32f4_driver_fs = { .init = init, .poll = poll, .read = read, @@ -1030,7 +1030,6 @@ static const usbh_low_level_driver_t driver_fs = { .root_speed = root_speed, .driver_data = &driver_data_fs }; -const void *usbh_lld_stm32f4_driver_fs = &driver_fs; #endif // USB High Speed - OTG_HS @@ -1042,7 +1041,8 @@ static usbh_lld_stm32f4_driver_data_t driver_data_hs = { .channels = channels_hs, .num_channels = NUM_CHANNELS_HS }; -static const usbh_low_level_driver_t driver_hs = { + +const usbh_low_level_driver_t usbh_lld_stm32f4_driver_hs = { .init = init, .poll = poll, .read = read, @@ -1050,5 +1050,5 @@ static const usbh_low_level_driver_t driver_hs = { .root_speed = root_speed, .driver_data = &driver_data_hs }; -const void *usbh_lld_stm32f4_driver_hs = &driver_hs; + #endif -- cgit