rename descriptor_* helper to tu_desc_*

This commit is contained in:
hathach 2018-12-12 12:01:15 +07:00
parent 6d86db3977
commit 6c0b0917e1
No known key found for this signature in database
GPG Key ID: 2FA891220FBFD581
10 changed files with 49 additions and 48 deletions

View File

@ -229,13 +229,13 @@ void cdcd_reset(uint8_t rhport)
} }
} }
tusb_error_t cdcd_open(uint8_t rhport, tusb_desc_interface_t const * p_interface_desc, uint16_t *p_length) tusb_error_t cdcd_open(uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t *p_length)
{ {
if ( CDC_COMM_SUBCLASS_ABSTRACT_CONTROL_MODEL != p_interface_desc->bInterfaceSubClass) return TUSB_ERROR_CDC_UNSUPPORTED_SUBCLASS; if ( CDC_COMM_SUBCLASS_ABSTRACT_CONTROL_MODEL != itf_desc->bInterfaceSubClass) return TUSB_ERROR_CDC_UNSUPPORTED_SUBCLASS;
// Only support AT commands, no protocol and vendor specific commands. // Only support AT commands, no protocol and vendor specific commands.
if ( !(tu_within(CDC_COMM_PROTOCOL_NONE, p_interface_desc->bInterfaceProtocol, CDC_COMM_PROTOCOL_ATCOMMAND_CDMA) || if ( !(tu_within(CDC_COMM_PROTOCOL_NONE, itf_desc->bInterfaceProtocol, CDC_COMM_PROTOCOL_ATCOMMAND_CDMA) ||
p_interface_desc->bInterfaceProtocol == 0xff ) ) itf_desc->bInterfaceProtocol == 0xff ) )
{ {
return TUSB_ERROR_CDC_UNSUPPORTED_PROTOCOL; return TUSB_ERROR_CDC_UNSUPPORTED_PROTOCOL;
} }
@ -252,16 +252,16 @@ tusb_error_t cdcd_open(uint8_t rhport, tusb_desc_interface_t const * p_interface
} }
//------------- Control Interface -------------// //------------- Control Interface -------------//
p_cdc->itf_num = p_interface_desc->bInterfaceNumber; p_cdc->itf_num = itf_desc->bInterfaceNumber;
uint8_t const * p_desc = descriptor_next ( (uint8_t const *) p_interface_desc ); uint8_t const * p_desc = tu_desc_next( itf_desc );
(*p_length) = sizeof(tusb_desc_interface_t); (*p_length) = sizeof(tusb_desc_interface_t);
// Communication Functional Descriptors // Communication Functional Descriptors
while( TUSB_DESC_CLASS_SPECIFIC == p_desc[DESC_OFFSET_TYPE] ) while( TUSB_DESC_CLASS_SPECIFIC == p_desc[DESC_OFFSET_TYPE] )
{ {
(*p_length) += p_desc[DESC_OFFSET_LEN]; (*p_length) += p_desc[DESC_OFFSET_LEN];
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
} }
if ( TUSB_DESC_ENDPOINT == p_desc[DESC_OFFSET_TYPE]) if ( TUSB_DESC_ENDPOINT == p_desc[DESC_OFFSET_TYPE])
@ -271,7 +271,7 @@ tusb_error_t cdcd_open(uint8_t rhport, tusb_desc_interface_t const * p_interface
p_cdc->ep_notif = ((tusb_desc_endpoint_t const *) p_desc)->bEndpointAddress; p_cdc->ep_notif = ((tusb_desc_endpoint_t const *) p_desc)->bEndpointAddress;
(*p_length) += p_desc[DESC_OFFSET_LEN]; (*p_length) += p_desc[DESC_OFFSET_LEN];
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
} }
//------------- Data Interface (if any) -------------// //------------- Data Interface (if any) -------------//
@ -280,7 +280,7 @@ tusb_error_t cdcd_open(uint8_t rhport, tusb_desc_interface_t const * p_interface
{ {
// next to endpoint descritpor // next to endpoint descritpor
(*p_length) += p_desc[DESC_OFFSET_LEN]; (*p_length) += p_desc[DESC_OFFSET_LEN];
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
// Open endpoint pair with usbd helper // Open endpoint pair with usbd helper
tusb_desc_endpoint_t const *p_desc_ep = (tusb_desc_endpoint_t const *) p_desc; tusb_desc_endpoint_t const *p_desc_ep = (tusb_desc_endpoint_t const *) p_desc;

View File

@ -146,7 +146,7 @@ bool cdch_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *it
uint8_t const * p_desc; uint8_t const * p_desc;
cdch_data_t * p_cdc; cdch_data_t * p_cdc;
p_desc = descriptor_next ( (uint8_t const *) itf_desc ); p_desc = tu_desc_next(itf_desc);
p_cdc = &cdch_data[dev_addr-1]; p_cdc = &cdch_data[dev_addr-1];
p_cdc->itf_num = itf_desc->bInterfaceNumber; p_cdc->itf_num = itf_desc->bInterfaceNumber;
@ -165,7 +165,7 @@ bool cdch_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *it
} }
(*p_length) += p_desc[DESC_OFFSET_LEN]; (*p_length) += p_desc[DESC_OFFSET_LEN];
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
} }
if ( TUSB_DESC_ENDPOINT == p_desc[DESC_OFFSET_TYPE]) if ( TUSB_DESC_ENDPOINT == p_desc[DESC_OFFSET_TYPE])
@ -177,7 +177,7 @@ bool cdch_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *it
p_cdc->ep_notif = ep_desc->bEndpointAddress; p_cdc->ep_notif = ep_desc->bEndpointAddress;
(*p_length) += p_desc[DESC_OFFSET_LEN]; (*p_length) += p_desc[DESC_OFFSET_LEN];
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
} }
//------------- Data Interface (if any) -------------// //------------- Data Interface (if any) -------------//
@ -185,7 +185,7 @@ bool cdch_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *it
(TUSB_CLASS_CDC_DATA == ((tusb_desc_interface_t const *) p_desc)->bInterfaceClass) ) (TUSB_CLASS_CDC_DATA == ((tusb_desc_interface_t const *) p_desc)->bInterfaceClass) )
{ {
(*p_length) += p_desc[DESC_OFFSET_LEN]; (*p_length) += p_desc[DESC_OFFSET_LEN];
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
// data endpoints expected to be in pairs // data endpoints expected to be in pairs
for(uint32_t i=0; i<2; i++) for(uint32_t i=0; i<2; i++)
@ -205,7 +205,7 @@ bool cdch_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *it
} }
(*p_length) += p_desc[DESC_OFFSET_LEN]; (*p_length) += p_desc[DESC_OFFSET_LEN];
p_desc = descriptor_next( p_desc ); p_desc = tu_desc_next( p_desc );
} }
} }

View File

@ -76,7 +76,7 @@ tusb_error_t cusd_open(uint8_t rhport, tusb_desc_interface_t const * p_desc_itf,
cusd_interface_t* p_itf = &_cusd_itf; cusd_interface_t* p_itf = &_cusd_itf;
// Open endpoint pair with usbd helper // Open endpoint pair with usbd helper
tusb_desc_endpoint_t const *p_desc_ep = (tusb_desc_endpoint_t const *) descriptor_next( (uint8_t const*) p_desc_itf ); tusb_desc_endpoint_t const *p_desc_ep = (tusb_desc_endpoint_t const *) tu_desc_next( (uint8_t const*) p_desc_itf );
TU_ASSERT_ERR( usbd_open_edpt_pair(rhport, p_desc_ep, TUSB_XFER_BULK, &p_itf->ep_out, &p_itf->ep_in) ); TU_ASSERT_ERR( usbd_open_edpt_pair(rhport, p_desc_ep, TUSB_XFER_BULK, &p_itf->ep_out, &p_itf->ep_in) );
p_itf->itf_num = p_desc_itf->bInterfaceNumber; p_itf->itf_num = p_desc_itf->bInterfaceNumber;

View File

@ -111,7 +111,7 @@ tusb_error_t cush_open_subtask(uint8_t dev_addr, tusb_desc_interface_t const *p_
{ {
// FIXME quick hack to test lpc1k custom class with 2 bulk endpoints // FIXME quick hack to test lpc1k custom class with 2 bulk endpoints
uint8_t const *p_desc = (uint8_t const *) p_interface_desc; uint8_t const *p_desc = (uint8_t const *) p_interface_desc;
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
//------------- Bulk Endpoints Descriptor -------------// //------------- Bulk Endpoints Descriptor -------------//
for(uint32_t i=0; i<2; i++) for(uint32_t i=0; i<2; i++)
@ -124,7 +124,7 @@ tusb_error_t cush_open_subtask(uint8_t dev_addr, tusb_desc_interface_t const *p_
*p_pipe_hdl = hcd_edpt_open(dev_addr, p_endpoint, TUSB_CLASS_VENDOR_SPECIFIC); *p_pipe_hdl = hcd_edpt_open(dev_addr, p_endpoint, TUSB_CLASS_VENDOR_SPECIFIC);
TU_ASSERT ( pipehandle_is_valid(*p_pipe_hdl), TUSB_ERROR_HCD_OPEN_PIPE_FAILED ); TU_ASSERT ( pipehandle_is_valid(*p_pipe_hdl), TUSB_ERROR_HCD_OPEN_PIPE_FAILED );
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
} }
(*p_length) = sizeof(tusb_desc_interface_t) + 2*sizeof(tusb_desc_endpoint_t); (*p_length) = sizeof(tusb_desc_interface_t) + 2*sizeof(tusb_desc_endpoint_t);

View File

@ -150,19 +150,19 @@ void mscd_reset(uint8_t rhport)
tu_memclr(&_mscd_itf, sizeof(mscd_interface_t)); tu_memclr(&_mscd_itf, sizeof(mscd_interface_t));
} }
tusb_error_t mscd_open(uint8_t rhport, tusb_desc_interface_t const * p_desc_itf, uint16_t *p_len) tusb_error_t mscd_open(uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t *p_len)
{ {
// only support SCSI's BOT protocol // only support SCSI's BOT protocol
TU_VERIFY( ( MSC_SUBCLASS_SCSI == p_desc_itf->bInterfaceSubClass && TU_VERIFY( ( MSC_SUBCLASS_SCSI == itf_desc->bInterfaceSubClass &&
MSC_PROTOCOL_BOT == p_desc_itf->bInterfaceProtocol ), TUSB_ERROR_MSC_UNSUPPORTED_PROTOCOL ); MSC_PROTOCOL_BOT == itf_desc->bInterfaceProtocol ), TUSB_ERROR_MSC_UNSUPPORTED_PROTOCOL );
mscd_interface_t * p_msc = &_mscd_itf; mscd_interface_t * p_msc = &_mscd_itf;
// Open endpoint pair with usbd helper // Open endpoint pair with usbd helper
tusb_desc_endpoint_t const *p_desc_ep = (tusb_desc_endpoint_t const *) descriptor_next( (uint8_t const*) p_desc_itf ); tusb_desc_endpoint_t const *p_desc_ep = (tusb_desc_endpoint_t const *) tu_desc_next( itf_desc );
TU_ASSERT_ERR( usbd_open_edpt_pair(rhport, p_desc_ep, TUSB_XFER_BULK, &p_msc->ep_out, &p_msc->ep_in) ); TU_ASSERT_ERR( usbd_open_edpt_pair(rhport, p_desc_ep, TUSB_XFER_BULK, &p_msc->ep_out, &p_msc->ep_in) );
p_msc->itf_num = p_desc_itf->bInterfaceNumber; p_msc->itf_num = itf_desc->bInterfaceNumber;
(*p_len) = sizeof(tusb_desc_interface_t) + 2*sizeof(tusb_desc_endpoint_t); (*p_len) = sizeof(tusb_desc_interface_t) + 2*sizeof(tusb_desc_endpoint_t);
//------------- Queue Endpoint OUT for Command Block Wrapper -------------// //------------- Queue Endpoint OUT for Command Block Wrapper -------------//

View File

@ -300,7 +300,7 @@ bool msch_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *it
msch_interface_t* p_msc = &msch_data[dev_addr-1]; msch_interface_t* p_msc = &msch_data[dev_addr-1];
//------------- Open Data Pipe -------------// //------------- Open Data Pipe -------------//
tusb_desc_endpoint_t const * ep_desc = (tusb_desc_endpoint_t const *) descriptor_next( (uint8_t const*) itf_desc ); tusb_desc_endpoint_t const * ep_desc = (tusb_desc_endpoint_t const *) tu_desc_next(itf_desc);
for(uint32_t i=0; i<2; i++) for(uint32_t i=0; i<2; i++)
{ {
@ -317,7 +317,7 @@ bool msch_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *it
p_msc->ep_out = ep_desc->bEndpointAddress; p_msc->ep_out = ep_desc->bEndpointAddress;
} }
ep_desc = (tusb_desc_endpoint_t const *) descriptor_next( (uint8_t const*) ep_desc ); ep_desc = (tusb_desc_endpoint_t const *) tu_desc_next(ep_desc);
} }
p_msc->itf_numr = itf_desc->bInterfaceNumber; p_msc->itf_numr = itf_desc->bInterfaceNumber;

View File

@ -395,19 +395,20 @@ static inline uint8_t tu_edpt_addr(uint8_t num, uint8_t dir)
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
// Descriptor helper // Descriptor helper
//--------------------------------------------------------------------+ //--------------------------------------------------------------------+
static inline uint8_t const * descriptor_next(uint8_t const p_desc[]) static inline uint8_t const * tu_desc_next(void const* desc)
{ {
return p_desc + p_desc[DESC_OFFSET_LEN]; uint8_t const* desc8 = (uint8_t const*) desc;
return desc8 + desc8[DESC_OFFSET_LEN];
} }
static inline uint8_t descriptor_type(uint8_t const p_desc[]) static inline uint8_t tu_desc_type(void const* desc)
{ {
return p_desc[DESC_OFFSET_TYPE]; return ((uint8_t const*) desc)[DESC_OFFSET_TYPE];
} }
static inline uint8_t descriptor_len(uint8_t const p_desc[]) static inline uint8_t tu_desc_len(void const* desc)
{ {
return p_desc[DESC_OFFSET_LEN]; return ((uint8_t const*) desc)[DESC_OFFSET_LEN];
} }
// Length of the string descriptors in bytes with slen characters // Length of the string descriptors in bytes with slen characters

View File

@ -436,12 +436,12 @@ static bool process_set_config(uint8_t rhport)
while( p_desc < desc_cfg + cfg_len ) while( p_desc < desc_cfg + cfg_len )
{ {
// Each interface always starts with Interface or Association descriptor // Each interface always starts with Interface or Association descriptor
if ( TUSB_DESC_INTERFACE_ASSOCIATION == descriptor_type(p_desc) ) if ( TUSB_DESC_INTERFACE_ASSOCIATION == tu_desc_type(p_desc) )
{ {
p_desc = descriptor_next(p_desc); // ignore Interface Association p_desc = tu_desc_next(p_desc); // ignore Interface Association
}else }else
{ {
TU_ASSERT( TUSB_DESC_INTERFACE == descriptor_type(p_desc) ); TU_ASSERT( TUSB_DESC_INTERFACE == tu_desc_type(p_desc) );
tusb_desc_interface_t* desc_itf = (tusb_desc_interface_t*) p_desc; tusb_desc_interface_t* desc_itf = (tusb_desc_interface_t*) p_desc;
@ -480,15 +480,15 @@ static void mark_interface_endpoint(uint8_t ep2drv[8][2], uint8_t const* p_desc,
while( len < desc_len ) while( len < desc_len )
{ {
if ( TUSB_DESC_ENDPOINT == descriptor_type(p_desc) ) if ( TUSB_DESC_ENDPOINT == tu_desc_type(p_desc) )
{ {
uint8_t const ep_addr = ((tusb_desc_endpoint_t const*) p_desc)->bEndpointAddress; uint8_t const ep_addr = ((tusb_desc_endpoint_t const*) p_desc)->bEndpointAddress;
ep2drv[tu_edpt_number(ep_addr)][tu_edpt_dir(ep_addr)] = driver_id; ep2drv[tu_edpt_number(ep_addr)][tu_edpt_dir(ep_addr)] = driver_id;
} }
len += descriptor_len(p_desc); len += tu_desc_len(p_desc);
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
} }
} }
@ -641,7 +641,7 @@ tusb_error_t usbd_open_edpt_pair(uint8_t rhport, tusb_desc_endpoint_t const* ep_
(*ep_out) = ep_desc->bEndpointAddress; (*ep_out) = ep_desc->bEndpointAddress;
} }
ep_desc = (tusb_desc_endpoint_t const *) descriptor_next( (uint8_t const*) ep_desc ); ep_desc = (tusb_desc_endpoint_t const *) tu_desc_next(ep_desc);
} }
return TUSB_ERROR_NONE; return TUSB_ERROR_NONE;

View File

@ -156,21 +156,21 @@ void hub_init(void)
// hub_enum_sem_hdl = osal_semaphore_create( OSAL_SEM_REF(hub_enum_semaphore) ); // hub_enum_sem_hdl = osal_semaphore_create( OSAL_SEM_REF(hub_enum_semaphore) );
} }
bool hub_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *p_interface_desc, uint16_t *p_length) bool hub_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_interface_t const *itf_desc, uint16_t *p_length)
{ {
// not support multiple TT yet // not support multiple TT yet
if ( p_interface_desc->bInterfaceProtocol > 1 ) return false; if ( itf_desc->bInterfaceProtocol > 1 ) return false;
//------------- Open Interrupt Status Pipe -------------// //------------- Open Interrupt Status Pipe -------------//
tusb_desc_endpoint_t const *ep_desc; tusb_desc_endpoint_t const *ep_desc;
ep_desc = (tusb_desc_endpoint_t const *) descriptor_next( (uint8_t const*) p_interface_desc ); ep_desc = (tusb_desc_endpoint_t const *) tu_desc_next(itf_desc);
TU_ASSERT(TUSB_DESC_ENDPOINT == ep_desc->bDescriptorType); TU_ASSERT(TUSB_DESC_ENDPOINT == ep_desc->bDescriptorType);
TU_ASSERT(TUSB_XFER_INTERRUPT == ep_desc->bmAttributes.xfer); TU_ASSERT(TUSB_XFER_INTERRUPT == ep_desc->bmAttributes.xfer);
TU_ASSERT(hcd_edpt_open(rhport, dev_addr, ep_desc)); TU_ASSERT(hcd_edpt_open(rhport, dev_addr, ep_desc));
hub_data[dev_addr-1].itf_num = p_interface_desc->bInterfaceNumber; hub_data[dev_addr-1].itf_num = itf_desc->bInterfaceNumber;
hub_data[dev_addr-1].ep_status = ep_desc->bEndpointAddress; hub_data[dev_addr-1].ep_status = ep_desc->bEndpointAddress;
(*p_length) = sizeof(tusb_desc_interface_t) + sizeof(tusb_desc_endpoint_t); (*p_length) = sizeof(tusb_desc_interface_t) + sizeof(tusb_desc_endpoint_t);

View File

@ -560,9 +560,9 @@ bool enum_task(hcd_event_t* event)
while( p_desc < _usbh_ctrl_buf + ((tusb_desc_configuration_t*)_usbh_ctrl_buf)->wTotalLength ) while( p_desc < _usbh_ctrl_buf + ((tusb_desc_configuration_t*)_usbh_ctrl_buf)->wTotalLength )
{ {
// skip until we see interface descriptor // skip until we see interface descriptor
if ( TUSB_DESC_INTERFACE != descriptor_type(p_desc) ) if ( TUSB_DESC_INTERFACE != tu_desc_type(p_desc) )
{ {
p_desc = descriptor_next(p_desc); // skip the descriptor, increase by the descriptor's length p_desc = tu_desc_next(p_desc); // skip the descriptor, increase by the descriptor's length
}else }else
{ {
tusb_desc_interface_t* desc_itf = (tusb_desc_interface_t*) p_desc; tusb_desc_interface_t* desc_itf = (tusb_desc_interface_t*) p_desc;
@ -577,7 +577,7 @@ bool enum_task(hcd_event_t* event)
if( drv_id >= USBH_CLASS_DRIVER_COUNT ) if( drv_id >= USBH_CLASS_DRIVER_COUNT )
{ {
// skip unsupported class // skip unsupported class
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
} }
else else
{ {
@ -589,7 +589,7 @@ bool enum_task(hcd_event_t* event)
{ {
// TODO Attach hub to Hub is not currently supported // TODO Attach hub to Hub is not currently supported
// skip this interface // skip this interface
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
} }
else else
{ {
@ -685,15 +685,15 @@ static void mark_interface_endpoint(uint8_t ep2drv[8][2], uint8_t const* p_desc,
while( len < desc_len ) while( len < desc_len )
{ {
if ( TUSB_DESC_ENDPOINT == descriptor_type(p_desc) ) if ( TUSB_DESC_ENDPOINT == tu_desc_type(p_desc) )
{ {
uint8_t const ep_addr = ((tusb_desc_endpoint_t const*) p_desc)->bEndpointAddress; uint8_t const ep_addr = ((tusb_desc_endpoint_t const*) p_desc)->bEndpointAddress;
ep2drv[ tu_edpt_number(ep_addr) ][ tu_edpt_dir(ep_addr) ] = driver_id; ep2drv[ tu_edpt_number(ep_addr) ][ tu_edpt_dir(ep_addr) ] = driver_id;
} }
len += descriptor_len(p_desc); len += tu_desc_len(p_desc);
p_desc = descriptor_next(p_desc); p_desc = tu_desc_next(p_desc);
} }
} }