summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxieyangrun <[email protected]>2022-03-31 18:20:30 +0800
committersakumisu <[email protected]>2022-03-31 18:40:11 +0800
commit322964f598bcb78c3943b7fc1d097ad9845eaffd (patch)
tree290c98479214c4b526453175338afb5b81b579b5
parentdfa977caa2a614ec3571fc2165d9dcb445c245cd (diff)
fixed osal critical section protect adapt 64bits CPU.
-rw-r--r--SConscript2
-rw-r--r--class/cdc/usbh_cdc_acm.c4
-rw-r--r--class/hid/usbh_hid.c4
-rw-r--r--class/hub/usbh_hub.c4
-rw-r--r--class/msc/usbh_msc.c4
-rw-r--r--core/usbh_core.c8
-rw-r--r--osal/usb_osal.h4
-rw-r--r--osal/usb_osal_freertos.c4
-rw-r--r--osal/usb_osal_rtthread.c6
-rw-r--r--osal/usb_workq.c6
-rw-r--r--port/ehci/usb_ehci.c6
-rw-r--r--port/musb/usb_hc_musb.c6
-rw-r--r--port/synopsys/usb_hc_synopsys.c10
13 files changed, 34 insertions, 34 deletions
diff --git a/SConscript b/SConscript
index 83334ff2..435c5adf 100644
--- a/SConscript
+++ b/SConscript
@@ -45,7 +45,7 @@ if GetDepend(['PKG_CHERRYUSB_USING_DEVICE']):
CPPDEFINES += ['USB_BASE=0x40080000UL']
if GetDepend(['CHERRYUSB_USING_MUSB']):
src += Glob('port/musb/usb_dc_musb.c')
- if GetDepend(['CHERRYUSB_USING_CDC_DEMO']):
+ if GetDepend(['CHERRYUSB_USING_CDC_DEMO']):
src += Glob('demo/cdc_acm_template.c')
# USB HOST
diff --git a/class/cdc/usbh_cdc_acm.c b/class/cdc/usbh_cdc_acm.c
index 65c9e10c..0f7b08ab 100644
--- a/class/cdc/usbh_cdc_acm.c
+++ b/class/cdc/usbh_cdc_acm.c
@@ -37,7 +37,7 @@ static uint32_t g_devinuse = 0;
static int usbh_cdc_acm_devno_alloc(struct usbh_cdc_acm *priv)
{
- uint32_t flags;
+ size_t flags;
int devno;
flags = usb_osal_enter_critical_section();
@@ -68,7 +68,7 @@ static void usbh_cdc_acm_devno_free(struct usbh_cdc_acm *priv)
int devno = priv->minor;
if (devno >= 0 && devno < 32) {
- uint32_t flags = usb_osal_enter_critical_section();
+ size_t flags = usb_osal_enter_critical_section();
g_devinuse &= ~(1 << devno);
usb_osal_leave_critical_section(flags);
}
diff --git a/class/hid/usbh_hid.c b/class/hid/usbh_hid.c
index 34d9a50c..72d8d60f 100644
--- a/class/hid/usbh_hid.c
+++ b/class/hid/usbh_hid.c
@@ -37,7 +37,7 @@ static uint32_t g_devinuse = 0;
static int usbh_hid_devno_alloc(struct usbh_hid *priv)
{
- uint32_t flags;
+ size_t flags;
int devno;
flags = usb_osal_enter_critical_section();
@@ -68,7 +68,7 @@ static void usbh_hid_devno_free(struct usbh_hid *priv)
int devno = priv->minor;
if (devno >= 0 && devno < 32) {
- uint32_t flags = usb_osal_enter_critical_section();
+ size_t size_t = usb_osal_enter_critical_section();
g_devinuse &= ~(1 << devno);
usb_osal_leave_critical_section(flags);
}
diff --git a/class/hub/usbh_hub.c b/class/hub/usbh_hub.c
index e6d97cee..1bae241a 100644
--- a/class/hub/usbh_hub.c
+++ b/class/hub/usbh_hub.c
@@ -57,7 +57,7 @@ static inline void usbh_hub_unregister(struct usbh_hub *hub)
static int usbh_hub_devno_alloc(struct usbh_hub *hub)
{
- uint32_t flags;
+ size_t flags;
int devno;
flags = usb_osal_enter_critical_section();
@@ -88,7 +88,7 @@ static void usbh_hub_devno_free(struct usbh_hub *hub)
int devno = hub->index;
if (devno >= 2 && devno < 32) {
- uint32_t flags = usb_osal_enter_critical_section();
+ size_t flags = usb_osal_enter_critical_section();
g_devinuse &= ~(1 << devno);
usb_osal_leave_critical_section(flags);
}
diff --git a/class/msc/usbh_msc.c b/class/msc/usbh_msc.c
index 1ee722a2..6dfa9355 100644
--- a/class/msc/usbh_msc.c
+++ b/class/msc/usbh_msc.c
@@ -38,7 +38,7 @@ static uint32_t g_devinuse = 0;
static int usbh_msc_devno_alloc(struct usbh_msc *priv)
{
- uint32_t flags;
+ size_t flags;
int devno;
flags = usb_osal_enter_critical_section();
@@ -69,7 +69,7 @@ static void usbh_msc_devno_free(struct usbh_msc *priv)
int devno = priv->sdchar - 'a';
if (devno >= 0 && devno < 26) {
- uint32_t flags = usb_osal_enter_critical_section();
+ size_t flags = usb_osal_enter_critical_section();
g_devinuse &= ~(1 << devno);
usb_osal_leave_critical_section(flags);
}
diff --git a/core/usbh_core.c b/core/usbh_core.c
index 01c5f129..001e29cb 100644
--- a/core/usbh_core.c
+++ b/core/usbh_core.c
@@ -171,7 +171,7 @@ void usbh_hport_activate(struct usbh_hubport *hport)
void usbh_hport_deactivate(struct usbh_hubport *hport)
{
- uint32_t flags;
+ size_t flags;
/* Don't free the control pipe of root hub ports! */
if (hport->parent != NULL && hport->ep0 != NULL) {
@@ -674,7 +674,7 @@ static int usbh_portchange_wait(struct usbh_hubport **hport)
{
struct usbh_hubport *connport = NULL;
uint32_t recved_event;
- uint32_t flags;
+ size_t flags;
int ret;
/* Loop until a change in connection state is detected */
@@ -775,7 +775,7 @@ static void usbh_portchange_detect_thread(void *argument)
void usbh_external_hport_connect(struct usbh_hubport *hport)
{
- uint32_t flags;
+ size_t flags;
usbh_hport_activate(hport);
@@ -790,7 +790,7 @@ void usbh_external_hport_connect(struct usbh_hubport *hport)
void usbh_external_hport_disconnect(struct usbh_hubport *hport)
{
- uint32_t flags;
+ size_t flags;
flags = usb_osal_enter_critical_section();
diff --git a/osal/usb_osal.h b/osal/usb_osal.h
index 92957c33..55d7e22d 100644
--- a/osal/usb_osal.h
+++ b/osal/usb_osal.h
@@ -51,8 +51,8 @@ void usb_osal_event_delete(usb_osal_event_t event);
int usb_osal_event_recv(usb_osal_event_t event, uint32_t set, uint32_t *recved);
int usb_osal_event_send(usb_osal_event_t event, uint32_t set);
-uint32_t usb_osal_enter_critical_section(void);
-void usb_osal_leave_critical_section(uint32_t flag);
+size_t usb_osal_enter_critical_section(void);
+void usb_osal_leave_critical_section(size_t flag);
void usb_osal_msleep(uint32_t delay);
diff --git a/osal/usb_osal_freertos.c b/osal/usb_osal_freertos.c
index 4b890ae8..933833b6 100644
--- a/osal/usb_osal_freertos.c
+++ b/osal/usb_osal_freertos.c
@@ -131,13 +131,13 @@ int usb_osal_event_send(usb_osal_event_t event, uint32_t set)
return (ret == pdPASS) ? 0 : -1;
}
-uint32_t usb_osal_enter_critical_section(void)
+size_t usb_osal_enter_critical_section(void)
{
taskENTER_CRITICAL();
return 1;
}
-void usb_osal_leave_critical_section(uint32_t flag)
+void usb_osal_leave_critical_section(size_t flag)
{
taskEXIT_CRITICAL();
}
diff --git a/osal/usb_osal_rtthread.c b/osal/usb_osal_rtthread.c
index f0c1c589..5212f349 100644
--- a/osal/usb_osal_rtthread.c
+++ b/osal/usb_osal_rtthread.c
@@ -117,17 +117,17 @@ int usb_osal_event_send(usb_osal_event_t event, uint32_t set)
return ret;
}
-uint32_t usb_osal_enter_critical_section(void)
+size_t usb_osal_enter_critical_section(void)
{
return rt_hw_interrupt_disable();
}
-void usb_osal_leave_critical_section(uint32_t flag)
+void usb_osal_leave_critical_section(size_t flag)
{
rt_hw_interrupt_enable(flag);
}
void usb_osal_msleep(uint32_t delay)
{
- rt_thread_mdelay(rt_tick_from_millisecond(delay));
+ rt_thread_mdelay(delay);
}
diff --git a/osal/usb_workq.c b/osal/usb_workq.c
index f8c1feb2..7ec34ffc 100644
--- a/osal/usb_workq.c
+++ b/osal/usb_workq.c
@@ -27,7 +27,7 @@
void usb_workqueue_submit(struct usb_workqueue *queue, struct usb_work *work, usb_worker_t worker, void *arg, uint32_t ticks)
{
- uint32_t flags;
+ size_t flags;
flags = usb_osal_enter_critical_section();
usb_dlist_remove(&work->list);
work->worker = worker;
@@ -47,7 +47,7 @@ struct usb_workqueue g_lpworkq = { NULL };
static void usbh_hpwork_thread(void *argument)
{
struct usb_work *work;
- uint32_t flags;
+ size_t flags;
int ret;
struct usb_workqueue *queue = (struct usb_workqueue *)argument;
while (1) {
@@ -70,7 +70,7 @@ static void usbh_hpwork_thread(void *argument)
static void usbh_lpwork_thread(void *argument)
{
struct usb_work *work;
- uint32_t flags;
+ size_t flags;
int ret;
struct usb_workqueue *queue = (struct usb_workqueue *)argument;
while (1) {
diff --git a/port/ehci/usb_ehci.c b/port/ehci/usb_ehci.c
index 9a2030d6..29da8d43 100644
--- a/port/ehci/usb_ehci.c
+++ b/port/ehci/usb_ehci.c
@@ -1299,7 +1299,7 @@ errout_with_qh:
static int usb_ehci_ioc_setup(struct usb_ehci_epinfo_s *epinfo)
{
- uint32_t flags;
+ size_t flags;
int ret = -ENODEV;
DEBUGASSERT(rhport && epinfo && !epinfo->iocwait);
@@ -1353,7 +1353,7 @@ static int usb_ehci_ioc_setup(struct usb_ehci_epinfo_s *epinfo)
#ifdef CONFIG_USBHOST_ASYNCH
static int usb_ehci_ioc_async_setup(struct usb_ehci_epinfo_s *epinfo, usbh_asynch_callback_t callback, void *arg)
{
- uint32_t flags;
+ size_t flags;
int ret = -ENODEV;
DEBUGASSERT(rhport && epinfo && !epinfo->iocwait);
@@ -2536,7 +2536,7 @@ int usb_ep_cancel(usbh_epinfo_t ep)
void *arg;
#endif
uint32_t *bp;
- uint32_t flags;
+ size_t flags;
bool iocwait;
int ret;
diff --git a/port/musb/usb_hc_musb.c b/port/musb/usb_hc_musb.c
index 54fa6ab0..8ceedc37 100644
--- a/port/musb/usb_hc_musb.c
+++ b/port/musb/usb_hc_musb.c
@@ -302,7 +302,7 @@ static void usb_musb_chan_free(struct usb_musb_chan *chan)
static int usb_musb_chan_waitsetup(struct usb_musb_chan *chan)
{
- uint32_t flags;
+ size_t flags;
int ret = -ENODEV;
flags = usb_osal_enter_critical_section();
@@ -346,7 +346,7 @@ static int usb_musb_chan_waitsetup(struct usb_musb_chan *chan)
#ifdef CONFIG_USBHOST_ASYNCH
static int usb_musb_chan_asynchsetup(struct usb_musb_chan *chan, usbh_asynch_callback_t callback, void *arg)
{
- uint32_t flags;
+ size_t flags;
int ret = -ENODEV;
flags = usb_osal_enter_critical_section();
@@ -890,7 +890,7 @@ int usbh_ep_intr_async_transfer(usbh_epinfo_t ep, uint8_t *buffer, uint32_t bufl
int usb_ep_cancel(usbh_epinfo_t ep)
{
int ret;
- uint32_t flags;
+ size_t flags;
struct usb_musb_chan *chan;
uint8_t chidx = (uint8_t)ep;
#ifdef CONFIG_USBHOST_ASYNCH
diff --git a/port/synopsys/usb_hc_synopsys.c b/port/synopsys/usb_hc_synopsys.c
index f01a3816..edd69c88 100644
--- a/port/synopsys/usb_hc_synopsys.c
+++ b/port/synopsys/usb_hc_synopsys.c
@@ -147,7 +147,7 @@ static inline void usb_synopsys_chan_freeall(void)
static int usb_synopsys_chan_waitsetup(struct usb_synopsys_chan *chan)
{
- uint32_t flags;
+ size_t flags;
int ret = -ENODEV;
flags = usb_osal_enter_critical_section();
@@ -191,7 +191,7 @@ static int usb_synopsys_chan_waitsetup(struct usb_synopsys_chan *chan)
#ifdef CONFIG_USBHOST_ASYNCH
static int usb_synopsys_chan_asynchsetup(struct usb_synopsys_chan *chan, usbh_asynch_callback_t callback, void *arg)
{
- uint32_t flags;
+ size_t flags;
int ret = -ENODEV;
flags = usb_osal_enter_critical_section();
@@ -681,7 +681,7 @@ errout_with_mutex:
int usbh_ep_intr_transfer(usbh_epinfo_t ep, uint8_t *buffer, uint32_t buflen, uint32_t timeout)
{
- uint32_t flags;
+ size_t flags;
uint32_t retries;
int ret;
struct usb_synopsys_chan *chan;
@@ -752,7 +752,7 @@ int usbh_ep_bulk_async_transfer(usbh_epinfo_t ep, uint8_t *buffer, uint32_t bufl
int usbh_ep_intr_async_transfer(usbh_epinfo_t ep, uint8_t *buffer, uint32_t buflen, usbh_asynch_callback_t callback, void *arg)
{
int ret;
- uint32_t flags;
+ size_t flags;
struct usb_synopsys_chan *chan;
struct usb_synopsys_priv *priv = &g_usbhost;
uint8_t chidx = (uint8_t)ep;
@@ -785,7 +785,7 @@ int usbh_ep_intr_async_transfer(usbh_epinfo_t ep, uint8_t *buffer, uint32_t bufl
int usb_ep_cancel(usbh_epinfo_t ep)
{
int ret;
- uint32_t flags;
+ size_t flags;
struct usb_synopsys_chan *chan;
struct usb_synopsys_priv *priv = &g_usbhost;
#ifdef CONFIG_USBHOST_ASYNCH