summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCamila <[email protected]>2024-03-26 18:40:22 +0100
committerCamila <[email protected]>2024-03-26 19:48:08 +0100
commit307cce92c4f630ab988e6eb1e77685bc1e82d85a (patch)
treedc3258eafb48c8b21cfb7654d6f899687e5bddc5 /src
parenteed37476612b6c2074cc3cdabbdef88c59822114 (diff)
Improved SDK 3.2.0 compatibility
- Used usbdev_allocreq for compatibility with SDK 3.2.0 - Wrapped previous code in #ifdef for legacy compatibility
Diffstat (limited to 'src')
-rw-r--r--src/portable/sony/cxd56/dcd_cxd56.c29
1 files changed, 10 insertions, 19 deletions
diff --git a/src/portable/sony/cxd56/dcd_cxd56.c b/src/portable/sony/cxd56/dcd_cxd56.c
index 9a939bc6c..83cd0718c 100644
--- a/src/portable/sony/cxd56/dcd_cxd56.c
+++ b/src/portable/sony/cxd56/dcd_cxd56.c
@@ -39,25 +39,6 @@
#define CXD56_SETUP_QUEUE_DEPTH (4)
#define CXD56_MAX_DATA_OUT_SIZE (64)
-/* Allocate/free I/O requests.
- * Should not be called from interrupt processing!
- */
-
-#define EP_ALLOCREQ(ep) (ep)->ops->allocreq(ep)
-#define EP_FREEREQ(ep,req) (ep)->ops->freereq(ep,req)
-
-/* Allocate/free an I/O buffer.
- * Should not be called from interrupt processing!
- */
-
-#ifdef CONFIG_USBDEV_DMA
-# define EP_ALLOCBUFFER(ep,nb) (ep)->ops->allocbuffer(ep,nb)
-# define EP_FREEBUFFER(ep,buf) (ep)->ops->freebuffer(ep,buf)
-#else
-# define EP_ALLOCBUFFER(ep,nb) kmm_malloc(nb)
-# define EP_FREEBUFFER(ep,buf) kmm_free(buf)
-#endif
-
OSAL_QUEUE_DEF(usbd_int_set, _setup_queue_def, CXD56_SETUP_QUEUE_DEPTH, struct usb_ctrlreq_s);
struct usbdcd_driver_s
@@ -121,6 +102,7 @@ static int _dcd_bind(FAR struct usbdevclass_driver_s *driver, FAR struct usbdev_
usbdev = dev;
usbdcd_driver.ep[0] = dev->ep0;
+ #ifdef EP_ALLOCREQ
usbdcd_driver.req[0] = EP_ALLOCREQ(usbdcd_driver.ep[0]);
if (usbdcd_driver.req[0] != NULL)
{
@@ -132,6 +114,9 @@ static int _dcd_bind(FAR struct usbdevclass_driver_s *driver, FAR struct usbdev_
usbdcd_driver.req[0] = NULL;
}
}
+ #else
+ usbdcd_driver.req[0] = usbdev_allocreq(usbdcd_driver.ep[0],64);
+ #endif
usbdcd_driver.req[0]->callback = usbdcd_ep0incomplete;
@@ -314,12 +299,18 @@ bool dcd_edpt_open(uint8_t rhport, tusb_desc_endpoint_t const *p_endpoint_desc)
}
usbdcd_driver.req[epnum] = NULL;
+
+ #ifdef EP_ALLOCREQ
usbdcd_driver.req[epnum] = EP_ALLOCREQ(usbdcd_driver.ep[epnum]);
if (usbdcd_driver.req[epnum] != NULL)
{
usbdcd_driver.req[epnum]->len = ep_mps;
}
else
+ #else
+ usbdcd_driver.req[epnum] = usbdev_allocreq(usbdcd_driver.ep[epnum], ep_mps);
+ if(usbdcd_driver.req[epnum] == NULL)
+ #endif
{
return false;
}