summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsakimisu <[email protected]>2023-01-15 16:36:16 +0800
committersakimisu <[email protected]>2023-01-15 16:36:16 +0800
commite475dd730b1b544f0e57f9011d744af4ccc10db0 (patch)
tree292f7ce71937e99c5fc0a9a3e21bc06867f8a730
parent1df1fefa3951eaf743a39b9c452809dc645e0ae9 (diff)
only support one config
-rw-r--r--core/usbd_core.c24
-rw-r--r--core/usbd_core.h4
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;