summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2025-06-23 12:57:41 +1000
committerDamien George <damien@micropython.org>2025-07-08 10:10:16 +1000
commit6fd069e8a5b8139c0a5aaec506d3d83c60285ac4 (patch)
tree8ea3c89c929a77fc8091faee5acdd1b7541082b0
parent6a53319336ce234757e04223cfe8560d6bea2de6 (diff)
zephyr/src: Fix USB device_next driver to work with zephyr 4.0.0.
The blocklist argument is not available in zephyr 4.0.0. Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r--ports/zephyr/src/usbd.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/ports/zephyr/src/usbd.c b/ports/zephyr/src/usbd.c
index 2444706cb..36b07a863 100644
--- a/ports/zephyr/src/usbd.c
+++ b/ports/zephyr/src/usbd.c
@@ -34,12 +34,22 @@
#include <zephyr/logging/log.h>
LOG_MODULE_REGISTER(mp_usbd);
+#if KERNEL_VERSION_NUMBER >= ZEPHYR_VERSION(4, 1, 0)
+
+#define BLOCKLIST , blocklist
+
/* By default, do not register the USB DFU class DFU mode instance. */
static const char *const blocklist[] = {
"dfu_dfu",
NULL,
};
+#else
+
+#define BLOCKLIST
+
+#endif
+
USBD_DEVICE_DEFINE(mp_usbd,
DEVICE_DT_GET(DT_NODELABEL(zephyr_udc0)),
CONFIG_MICROPY_USB_DEVICE_VID, CONFIG_MICROPY_USB_DEVICE_PID);
@@ -121,7 +131,7 @@ struct usbd_context *mp_usbd_init_device(usbd_msg_cb_t msg_cb) {
return NULL;
}
- err = usbd_register_all_classes(&mp_usbd, USBD_SPEED_HS, 1, blocklist);
+ err = usbd_register_all_classes(&mp_usbd, USBD_SPEED_HS, 1 BLOCKLIST);
if (err) {
LOG_ERR("Failed to add register classes");
return NULL;
@@ -137,7 +147,7 @@ struct usbd_context *mp_usbd_init_device(usbd_msg_cb_t msg_cb) {
return NULL;
}
- err = usbd_register_all_classes(&mp_usbd, USBD_SPEED_FS, 1, blocklist);
+ err = usbd_register_all_classes(&mp_usbd, USBD_SPEED_FS, 1 BLOCKLIST);
if (err) {
LOG_ERR("Failed to add register classes");
return NULL;