mirror of
https://github.com/hathach/tinyusb.git
synced 2025-03-31 16:20:57 +00:00
sof is optional, revert other changes but remove unneeded check.
This commit is contained in:
parent
d1656c0b8d
commit
0ec69de77c
@ -91,7 +91,7 @@ typedef struct
|
|||||||
bool (* control_request ) (uint8_t rhport, tusb_control_request_t const * request);
|
bool (* control_request ) (uint8_t rhport, tusb_control_request_t const * request);
|
||||||
bool (* control_complete ) (uint8_t rhport, tusb_control_request_t const * request);
|
bool (* control_complete ) (uint8_t rhport, tusb_control_request_t const * request);
|
||||||
bool (* xfer_cb ) (uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
|
bool (* xfer_cb ) (uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
|
||||||
void (* sof ) (uint8_t rhport);
|
void (* sof ) (uint8_t rhport); /* optional */
|
||||||
} usbd_class_driver_t;
|
} usbd_class_driver_t;
|
||||||
|
|
||||||
static usbd_class_driver_t const _usbd_driver[] =
|
static usbd_class_driver_t const _usbd_driver[] =
|
||||||
@ -450,8 +450,6 @@ void tud_task (void)
|
|||||||
// Helper to invoke class driver control request handler
|
// Helper to invoke class driver control request handler
|
||||||
static bool invoke_class_control(uint8_t rhport, uint8_t drvid, tusb_control_request_t const * request)
|
static bool invoke_class_control(uint8_t rhport, uint8_t drvid, tusb_control_request_t const * request)
|
||||||
{
|
{
|
||||||
TU_VERIFY(_usbd_driver[drvid].control_request);
|
|
||||||
|
|
||||||
usbd_control_set_complete_callback(_usbd_driver[drvid].control_complete);
|
usbd_control_set_complete_callback(_usbd_driver[drvid].control_complete);
|
||||||
TU_LOG2(" %s control request\r\n", _usbd_driver[drvid].name);
|
TU_LOG2(" %s control request\r\n", _usbd_driver[drvid].name);
|
||||||
return _usbd_driver[drvid].control_request(rhport, request);
|
return _usbd_driver[drvid].control_request(rhport, request);
|
||||||
@ -463,7 +461,7 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const
|
|||||||
{
|
{
|
||||||
usbd_control_set_complete_callback(NULL);
|
usbd_control_set_complete_callback(NULL);
|
||||||
|
|
||||||
TU_VERIFY(p_request->bmRequestType_bit.type < TUSB_REQ_TYPE_INVALID);
|
TU_ASSERT(p_request->bmRequestType_bit.type < TUSB_REQ_TYPE_INVALID);
|
||||||
|
|
||||||
// Vendor request
|
// Vendor request
|
||||||
if ( p_request->bmRequestType_bit.type == TUSB_REQ_TYPE_VENDOR )
|
if ( p_request->bmRequestType_bit.type == TUSB_REQ_TYPE_VENDOR )
|
||||||
@ -801,7 +799,7 @@ static bool process_get_descriptor(uint8_t rhport, tusb_control_request_t const
|
|||||||
case TUSB_DESC_CONFIGURATION:
|
case TUSB_DESC_CONFIGURATION:
|
||||||
{
|
{
|
||||||
tusb_desc_configuration_t const* desc_config = (tusb_desc_configuration_t const*) tud_descriptor_configuration_cb(desc_index);
|
tusb_desc_configuration_t const* desc_config = (tusb_desc_configuration_t const*) tud_descriptor_configuration_cb(desc_index);
|
||||||
TU_VERIFY(desc_config);
|
TU_ASSERT(desc_config);
|
||||||
|
|
||||||
uint16_t total_len;
|
uint16_t total_len;
|
||||||
memcpy(&total_len, &desc_config->wTotalLength, 2); // possibly mis-aligned memory
|
memcpy(&total_len, &desc_config->wTotalLength, 2); // possibly mis-aligned memory
|
||||||
@ -821,7 +819,7 @@ static bool process_get_descriptor(uint8_t rhport, tusb_control_request_t const
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
uint8_t const* desc_str = (uint8_t const*) tud_descriptor_string_cb(desc_index, p_request->wIndex);
|
uint8_t const* desc_str = (uint8_t const*) tud_descriptor_string_cb(desc_index, p_request->wIndex);
|
||||||
TU_VERIFY(desc_str);
|
TU_ASSERT(desc_str);
|
||||||
|
|
||||||
// first byte of descriptor is its size
|
// first byte of descriptor is its size
|
||||||
return tud_control_xfer(rhport, p_request, (void*) desc_str, desc_str[0]);
|
return tud_control_xfer(rhport, p_request, (void*) desc_str, desc_str[0]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user