From 48730e20bee7e67d1ff5b114bbd5789cb6bff0f6 Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Tue, 5 Dec 2023 20:49:26 +0800 Subject: [PATCH] add usb_osal_sem_reset api --- common/usb_osal.h | 1 + osal/usb_osal_freertos.c | 5 +++++ osal/usb_osal_rtthread.c | 5 +++++ osal/usb_osal_yoc.c | 5 +++++ 4 files changed, 16 insertions(+) diff --git a/common/usb_osal.h b/common/usb_osal.h index 560b73ab..bf68acaa 100644 --- a/common/usb_osal.h +++ b/common/usb_osal.h @@ -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); int usb_osal_sem_take(usb_osal_sem_t sem, uint32_t timeout); 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); void usb_osal_mutex_delete(usb_osal_mutex_t mutex); diff --git a/osal/usb_osal_freertos.c b/osal/usb_osal_freertos.c index 2c4ed542..bd49b807 100644 --- a/osal/usb_osal_freertos.c +++ b/osal/usb_osal_freertos.c @@ -59,6 +59,11 @@ int usb_osal_sem_give(usb_osal_sem_t sem) 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) { return (usb_osal_mutex_t)xSemaphoreCreateMutex(); diff --git a/osal/usb_osal_rtthread.c b/osal/usb_osal_rtthread.c index 964c1a7f..6d1960b9 100644 --- a/osal/usb_osal_rtthread.c +++ b/osal/usb_osal_rtthread.c @@ -61,6 +61,11 @@ int usb_osal_sem_give(usb_osal_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) { return (usb_osal_mutex_t)rt_mutex_create("usbh_mutex", RT_IPC_FLAG_FIFO); diff --git a/osal/usb_osal_yoc.c b/osal/usb_osal_yoc.c index b782b296..e87cb30c 100644 --- a/osal/usb_osal_yoc.c +++ b/osal/usb_osal_yoc.c @@ -51,6 +51,11 @@ int usb_osal_sem_give(usb_osal_sem_t sem) return 0; } +void usb_osal_sem_reset(usb_osal_sem_t sem) +{ + +} + usb_osal_mutex_t usb_osal_mutex_create(void) { aos_mutex_t mutex = NULL;