add usb_osal_sem_reset api

This commit is contained in:
sakumisu
2023-12-05 20:49:26 +08:00
parent 11e389f922
commit 48730e20be
4 changed files with 16 additions and 0 deletions

View File

@@ -27,6 +27,7 @@ usb_osal_sem_t usb_osal_sem_create(uint32_t initial_count);
void usb_osal_sem_delete(usb_osal_sem_t sem); void usb_osal_sem_delete(usb_osal_sem_t sem);
int usb_osal_sem_take(usb_osal_sem_t sem, uint32_t timeout); int usb_osal_sem_take(usb_osal_sem_t sem, uint32_t timeout);
int usb_osal_sem_give(usb_osal_sem_t sem); int usb_osal_sem_give(usb_osal_sem_t sem);
void usb_osal_sem_reset(usb_osal_sem_t sem);
usb_osal_mutex_t usb_osal_mutex_create(void); usb_osal_mutex_t usb_osal_mutex_create(void);
void usb_osal_mutex_delete(usb_osal_mutex_t mutex); void usb_osal_mutex_delete(usb_osal_mutex_t mutex);

View File

@@ -59,6 +59,11 @@ int usb_osal_sem_give(usb_osal_sem_t sem)
return (ret == pdPASS) ? 0 : -ETIMEDOUT; return (ret == pdPASS) ? 0 : -ETIMEDOUT;
} }
void usb_osal_sem_reset(usb_osal_sem_t sem)
{
xQueueReset((QueueHandle_t)sem);
}
usb_osal_mutex_t usb_osal_mutex_create(void) usb_osal_mutex_t usb_osal_mutex_create(void)
{ {
return (usb_osal_mutex_t)xSemaphoreCreateMutex(); return (usb_osal_mutex_t)xSemaphoreCreateMutex();

View File

@@ -61,6 +61,11 @@ int usb_osal_sem_give(usb_osal_sem_t sem)
return (int)rt_sem_release((rt_sem_t)sem); return (int)rt_sem_release((rt_sem_t)sem);
} }
void usb_osal_sem_reset(usb_osal_sem_t sem)
{
rt_sem_control((rt_sem_t)sem, RT_IPC_CMD_RESET, (void *)0);
}
usb_osal_mutex_t usb_osal_mutex_create(void) usb_osal_mutex_t usb_osal_mutex_create(void)
{ {
return (usb_osal_mutex_t)rt_mutex_create("usbh_mutex", RT_IPC_FLAG_FIFO); return (usb_osal_mutex_t)rt_mutex_create("usbh_mutex", RT_IPC_FLAG_FIFO);

View File

@@ -51,6 +51,11 @@ int usb_osal_sem_give(usb_osal_sem_t sem)
return 0; return 0;
} }
void usb_osal_sem_reset(usb_osal_sem_t sem)
{
}
usb_osal_mutex_t usb_osal_mutex_create(void) usb_osal_mutex_t usb_osal_mutex_create(void)
{ {
aos_mutex_t mutex = NULL; aos_mutex_t mutex = NULL;