summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsakimisu <[email protected]>2023-04-21 23:24:13 +0800
committersakimisu <[email protected]>2023-04-21 23:24:13 +0800
commitdc4887aef1b7de2529f8831ea9d5a38d9bccca04 (patch)
treec192afd9120a9c3ddfb10fe5466030fa9b0ad998
parent4b59a1330e9390f21db6c52cf40be8cd6a39c7e6 (diff)
fix pointer in 64bit cpu, use uintptr_t instead
-rw-r--r--class/hub/usbh_hub.c6
-rw-r--r--common/usb_log.h10
-rw-r--r--core/usbd_core.c8
-rw-r--r--osal/usb_osal.h4
-rw-r--r--osal/usb_osal_freertos.c6
-rw-r--r--osal/usb_osal_rtthread.c10
6 files changed, 22 insertions, 22 deletions
diff --git a/class/hub/usbh_hub.c b/class/hub/usbh_hub.c
index aaaf3176..931deea6 100644
--- a/class/hub/usbh_hub.c
+++ b/class/hub/usbh_hub.c
@@ -515,7 +515,7 @@ static void usbh_hub_events(struct usbh_hub *hub)
child->connected = true;
child->port = port + 1;
child->speed = speed;
-
+
USB_LOG_INFO("New %s device on Hub %u, Port %u connected\r\n", speed_table[speed], hub->index, port + 1);
/* Configure EP0 with the default maximum packet size */
@@ -557,7 +557,7 @@ static void usbh_hub_thread(void *argument)
usb_hc_init();
while (1) {
- ret = usb_osal_mq_recv(hub_mq, (uint32_t *)&hub, 0xffffffff);
+ ret = usb_osal_mq_recv(hub_mq, (uintptr_t *)&hub, 0xffffffff);
if (ret < 0) {
continue;
}
@@ -580,7 +580,7 @@ static void usbh_roothub_register(void)
static void usbh_hub_thread_wakeup(struct usbh_hub *hub)
{
- usb_osal_mq_send(hub_mq, (uint32_t)hub);
+ usb_osal_mq_send(hub_mq, (uintptr_t)hub);
}
void usbh_roothub_thread_wakeup(uint8_t port)
diff --git a/common/usb_log.h b/common/usb_log.h
index 4d1eff84..923e8006 100644
--- a/common/usb_log.h
+++ b/common/usb_log.h
@@ -52,25 +52,25 @@
#if (CONFIG_USB_DBG_LEVEL >= USB_DBG_LOG)
#define USB_LOG_DBG(fmt, ...) usb_dbg_log_line("D", 0, fmt, ##__VA_ARGS__)
#else
-#define USB_LOG_DBG(...)
+#define USB_LOG_DBG(...) {}
#endif
#if (CONFIG_USB_DBG_LEVEL >= USB_DBG_INFO)
#define USB_LOG_INFO(fmt, ...) usb_dbg_log_line("I", 32, fmt, ##__VA_ARGS__)
#else
-#define USB_LOG_INFO(...)
+#define USB_LOG_INFO(...) {}
#endif
#if (CONFIG_USB_DBG_LEVEL >= USB_DBG_WARNING)
#define USB_LOG_WRN(fmt, ...) usb_dbg_log_line("W", 33, fmt, ##__VA_ARGS__)
#else
-#define USB_LOG_WRN(...)
+#define USB_LOG_WRN(...) {}
#endif
#if (CONFIG_USB_DBG_LEVEL >= USB_DBG_ERROR)
#define USB_LOG_ERR(fmt, ...) usb_dbg_log_line("E", 31, fmt, ##__VA_ARGS__)
#else
-#define USB_LOG_ERR(...)
+#define USB_LOG_ERR(...) {}
#endif
#define USB_LOG_RAW(...) CONFIG_USB_PRINTF(__VA_ARGS__)
@@ -82,4 +82,4 @@ void usb_assert(const char *filename, int linenum);
usb_assert(__FILE__, __LINE__); \
} while (0)
-#endif /* USB_LOG_H */ \ No newline at end of file
+#endif /* USB_LOG_H */
diff --git a/core/usbd_core.c b/core/usbd_core.c
index 308d0d49..1afd52a6 100644
--- a/core/usbd_core.c
+++ b/core/usbd_core.c
@@ -1123,7 +1123,7 @@ void usbd_event_ep_in_complete_handler(uint8_t ep, uint32_t nbytes)
}
#else
tx_msg[ep & 0x7f].nbytes = nbytes;
- usb_osal_mq_send(usbd_tx_mq, (uint32_t)&tx_msg[ep & 0x7f]);
+ usb_osal_mq_send(usbd_tx_mq, (uintptr_t)&tx_msg[ep & 0x7f]);
#endif
}
@@ -1135,7 +1135,7 @@ void usbd_event_ep_out_complete_handler(uint8_t ep, uint32_t nbytes)
}
#else
rx_msg[ep & 0x7f].nbytes = nbytes;
- usb_osal_mq_send(usbd_rx_mq, (uint32_t)&rx_msg[ep & 0x7f]);
+ usb_osal_mq_send(usbd_rx_mq, (uintptr_t)&rx_msg[ep & 0x7f]);
#endif
}
@@ -1146,7 +1146,7 @@ static void usbdev_tx_thread(void *argument)
int ret;
while (1) {
- ret = usb_osal_mq_recv(usbd_tx_mq, (uint32_t *)&msg, 0xffffffff);
+ ret = usb_osal_mq_recv(usbd_tx_mq, (uintptr_t *)&msg, 0xffffffff);
if (ret < 0) {
continue;
}
@@ -1165,7 +1165,7 @@ static void usbdev_rx_thread(void *argument)
int ret;
while (1) {
- ret = usb_osal_mq_recv(usbd_rx_mq, (uint32_t *)&msg, 0xffffffff);
+ ret = usb_osal_mq_recv(usbd_rx_mq, (uintptr_t *)&msg, 0xffffffff);
if (ret < 0) {
continue;
}
diff --git a/osal/usb_osal.h b/osal/usb_osal.h
index d730b74e..7f723559 100644
--- a/osal/usb_osal.h
+++ b/osal/usb_osal.h
@@ -28,8 +28,8 @@ int usb_osal_mutex_take(usb_osal_mutex_t mutex);
int usb_osal_mutex_give(usb_osal_mutex_t mutex);
usb_osal_mq_t usb_osal_mq_create(uint32_t max_msgs);
-int usb_osal_mq_send(usb_osal_mq_t mq, uint32_t addr);
-int usb_osal_mq_recv(usb_osal_mq_t mq, uint32_t *addr, uint32_t timeout);
+int usb_osal_mq_send(usb_osal_mq_t mq, uintptr_t addr);
+int usb_osal_mq_recv(usb_osal_mq_t mq, uintptr_t *addr, uint32_t timeout);
size_t usb_osal_enter_critical_section(void);
void usb_osal_leave_critical_section(size_t flag);
diff --git a/osal/usb_osal_freertos.c b/osal/usb_osal_freertos.c
index 65d9f1c3..8547a4c0 100644
--- a/osal/usb_osal_freertos.c
+++ b/osal/usb_osal_freertos.c
@@ -68,10 +68,10 @@ int usb_osal_mutex_give(usb_osal_mutex_t mutex)
usb_osal_mq_t usb_osal_mq_create(uint32_t max_msgs)
{
- return (usb_osal_mq_t)xQueueCreate(max_msgs, 4);
+ return (usb_osal_mq_t)xQueueCreate(max_msgs, sizeof(uintptr_t));
}
-int usb_osal_mq_send(usb_osal_mq_t mq, uint32_t addr)
+int usb_osal_mq_send(usb_osal_mq_t mq, uintptr_t addr)
{
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
int ret;
@@ -84,7 +84,7 @@ int usb_osal_mq_send(usb_osal_mq_t mq, uint32_t addr)
return (ret == pdPASS) ? 0 : -ETIMEDOUT;
}
-int usb_osal_mq_recv(usb_osal_mq_t mq, uint32_t *addr, uint32_t timeout)
+int usb_osal_mq_recv(usb_osal_mq_t mq, uintptr_t *addr, uint32_t timeout)
{
return (xQueueReceive((usb_osal_mq_t)mq, addr, timeout) == pdPASS) ? 0 : -ETIMEDOUT;
}
diff --git a/osal/usb_osal_rtthread.c b/osal/usb_osal_rtthread.c
index f2f830e7..e1c90499 100644
--- a/osal/usb_osal_rtthread.c
+++ b/osal/usb_osal_rtthread.c
@@ -70,20 +70,20 @@ int usb_osal_mutex_give(usb_osal_mutex_t mutex)
usb_osal_mq_t usb_osal_mq_create(uint32_t max_msgs)
{
- return (usb_osal_mq_t)rt_mq_create("usbh_mq", 4, max_msgs, RT_IPC_FLAG_FIFO);
+ return (usb_osal_mq_t)rt_mq_create("usbh_mq", sizeof(uintptr_t), max_msgs, RT_IPC_FLAG_FIFO);
}
-int usb_osal_mq_send(usb_osal_mq_t mq, uint32_t addr)
+int usb_osal_mq_send(usb_osal_mq_t mq, uintptr_t addr)
{
- return rt_mq_send((rt_mq_t)mq, &addr, 4);
+ return rt_mq_send((rt_mq_t)mq, &addr, sizeof(uintptr_t));
}
-int usb_osal_mq_recv(usb_osal_mq_t mq, uint32_t *addr, uint32_t timeout)
+int usb_osal_mq_recv(usb_osal_mq_t mq, uintptr_t *addr, uint32_t timeout)
{
int ret = 0;
rt_err_t result = RT_EOK;
- result = rt_mq_recv((rt_mq_t)mq, addr, 4, rt_tick_from_millisecond(timeout));
+ result = rt_mq_recv((rt_mq_t)mq, addr, sizeof(uintptr_t), rt_tick_from_millisecond(timeout));
if (result == -RT_ETIMEOUT) {
ret = -ETIMEDOUT;
} else if (result == -RT_ERROR) {