diff options
| author | sakimisu <[email protected]> | 2023-01-15 16:36:16 +0800 |
|---|---|---|
| committer | sakimisu <[email protected]> | 2023-01-15 16:36:16 +0800 |
| commit | e475dd730b1b544f0e57f9011d744af4ccc10db0 (patch) | |
| tree | 292f7ce71937e99c5fc0a9a3e21bc06867f8a730 | |
| parent | 1df1fefa3951eaf743a39b9c452809dc645e0ae9 (diff) | |
only support one config
| -rw-r--r-- | core/usbd_core.c | 24 | ||||
| -rw-r--r-- | core/usbd_core.h | 4 |
2 files changed, 14 insertions, 14 deletions
diff --git a/core/usbd_core.c b/core/usbd_core.c index f35e3709..cd91ea00 100644 --- a/core/usbd_core.c +++ b/core/usbd_core.c @@ -173,18 +173,18 @@ static bool usbd_get_descriptor(uint16_t type_index, uint8_t **data, uint32_t *l case USB_DESCRIPTOR_TYPE_CONFIGURATION: usbd_core_cfg.speed = usbd_get_port_speed(0); if (usbd_core_cfg.speed == USB_SPEED_HIGH) { - if (usbd_core_cfg.descriptors->hs_config_descriptor[index]) { - *data = (uint8_t *)usbd_core_cfg.descriptors->hs_config_descriptor[index]; - *len = (usbd_core_cfg.descriptors->hs_config_descriptor[index][CONF_DESC_wTotalLength] | - (usbd_core_cfg.descriptors->hs_config_descriptor[index][CONF_DESC_wTotalLength + 1] << 8)); + if (usbd_core_cfg.descriptors->hs_config_descriptor) { + *data = (uint8_t *)usbd_core_cfg.descriptors->hs_config_descriptor; + *len = (usbd_core_cfg.descriptors->hs_config_descriptor[CONF_DESC_wTotalLength] | + (usbd_core_cfg.descriptors->hs_config_descriptor[CONF_DESC_wTotalLength + 1] << 8)); } else { found = false; } } else { - if (usbd_core_cfg.descriptors->fs_config_descriptor[index]) { - *data = (uint8_t *)usbd_core_cfg.descriptors->fs_config_descriptor[index]; - *len = (usbd_core_cfg.descriptors->fs_config_descriptor[index][CONF_DESC_wTotalLength] | - (usbd_core_cfg.descriptors->fs_config_descriptor[index][CONF_DESC_wTotalLength + 1] << 8)); + if (usbd_core_cfg.descriptors->fs_config_descriptor) { + *data = (uint8_t *)usbd_core_cfg.descriptors->fs_config_descriptor; + *len = (usbd_core_cfg.descriptors->fs_config_descriptor[CONF_DESC_wTotalLength] | + (usbd_core_cfg.descriptors->fs_config_descriptor[CONF_DESC_wTotalLength + 1] << 8)); } else { found = false; } @@ -372,9 +372,9 @@ static bool usbd_set_configuration(uint8_t config_index, uint8_t alt_setting) uint8_t *p; #ifdef CONFIG_USBDEV_ADVANCE_DESC if (usbd_core_cfg.speed == USB_SPEED_HIGH) { - p = (uint8_t *)usbd_core_cfg.descriptors->hs_config_descriptor[0]; + p = (uint8_t *)usbd_core_cfg.descriptors->hs_config_descriptor; } else { - p = (uint8_t *)usbd_core_cfg.descriptors->fs_config_descriptor[0]; + p = (uint8_t *)usbd_core_cfg.descriptors->fs_config_descriptor; } #else p = (uint8_t *)usbd_core_cfg.descriptors; @@ -436,9 +436,9 @@ static bool usbd_set_interface(uint8_t iface, uint8_t alt_setting) uint8_t *p; #ifdef CONFIG_USBDEV_ADVANCE_DESC if (usbd_core_cfg.speed == USB_SPEED_HIGH) { - p = (uint8_t *)usbd_core_cfg.descriptors->hs_config_descriptor[0]; + p = (uint8_t *)usbd_core_cfg.descriptors->hs_config_descriptor; } else { - p = (uint8_t *)usbd_core_cfg.descriptors->fs_config_descriptor[0]; + p = (uint8_t *)usbd_core_cfg.descriptors->fs_config_descriptor; } #else p = (uint8_t *)usbd_core_cfg.descriptors; diff --git a/core/usbd_core.h b/core/usbd_core.h index b8970142..8d7d10c6 100644 --- a/core/usbd_core.h +++ b/core/usbd_core.h @@ -64,8 +64,8 @@ struct usbd_interface { struct usb_descriptor { const uint8_t *device_descriptor; - const uint8_t **fs_config_descriptor; - const uint8_t **hs_config_descriptor; + const uint8_t *fs_config_descriptor; + const uint8_t *hs_config_descriptor; const uint8_t *device_quality_descriptor; const uint8_t *fs_other_speed_descriptor; const uint8_t *hs_other_speed_descriptor; |
