feat(class): support more match flags for cdc acm & rndis

Signed-off-by: sakumisu <1203593632@qq.com>
This commit is contained in:
sakumisu
2025-11-24 20:34:58 +08:00
parent 47cc574730
commit d68064e4e3
2 changed files with 21 additions and 3 deletions

View File

@@ -266,11 +266,20 @@ const struct usbh_class_driver cdc_data_class_driver = {
.disconnect = usbh_cdc_data_disconnect .disconnect = usbh_cdc_data_disconnect
}; };
CLASS_INFO_DEFINE const struct usbh_class_info cdc_acm_class_info = { CLASS_INFO_DEFINE const struct usbh_class_info cdc_acm_none_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS, .match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
.bInterfaceClass = USB_DEVICE_CLASS_CDC, .bInterfaceClass = USB_DEVICE_CLASS_CDC,
.bInterfaceSubClass = CDC_ABSTRACT_CONTROL_MODEL, .bInterfaceSubClass = CDC_ABSTRACT_CONTROL_MODEL,
.bInterfaceProtocol = 0x00, .bInterfaceProtocol = CDC_COMMON_PROTOCOL_NONE,
.id_table = NULL,
.class_driver = &cdc_acm_class_driver
};
CLASS_INFO_DEFINE const struct usbh_class_info cdc_acm_at_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
.bInterfaceClass = USB_DEVICE_CLASS_CDC,
.bInterfaceSubClass = CDC_ABSTRACT_CONTROL_MODEL,
.bInterfaceProtocol = CDC_COMMON_PROTOCOL_AT_COMMANDS,
.id_table = NULL, .id_table = NULL,
.class_driver = &cdc_acm_class_driver .class_driver = &cdc_acm_class_driver
}; };

View File

@@ -602,3 +602,12 @@ CLASS_INFO_DEFINE const struct usbh_class_info rndis_class_info = {
.id_table = NULL, .id_table = NULL,
.class_driver = &rndis_class_driver .class_driver = &rndis_class_driver
}; };
CLASS_INFO_DEFINE const struct usbh_class_info rndis_cdcacm_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
.bInterfaceClass = USB_DEVICE_CLASS_CDC,
.bInterfaceSubClass = CDC_ABSTRACT_CONTROL_MODEL,
.bInterfaceProtocol = 0xff,
.id_table = NULL,
.class_driver = &rndis_class_driver
};