@@ -102,17 +102,25 @@ static int _dcd_bind(FAR struct usbdevclass_driver_s *driver, FAR struct usbdev_
102
102
usbdev = dev ;
103
103
usbdcd_driver .ep [0 ] = dev -> ep0 ;
104
104
105
+ #ifdef EP_ALLOCREQ
106
+ // SDK v2
105
107
usbdcd_driver .req [0 ] = EP_ALLOCREQ (usbdcd_driver .ep [0 ]);
106
- if (usbdcd_driver .req [0 ] != NULL )
107
- {
108
+ if (usbdcd_driver .req [0 ] != NULL ) {
108
109
usbdcd_driver .req [0 ]-> len = 64 ;
109
110
usbdcd_driver .req [0 ]-> buf = EP_ALLOCBUFFER (usbdcd_driver .ep [0 ], 64 );
110
- if (!usbdcd_driver .req [0 ]-> buf )
111
- {
111
+ if (!usbdcd_driver .req [0 ]-> buf ) {
112
112
EP_FREEREQ (usbdcd_driver .ep [0 ], usbdcd_driver .req [0 ]);
113
113
usbdcd_driver .req [0 ] = NULL ;
114
+ return ENOMEM ;
114
115
}
115
116
}
117
+ #else
118
+ // SDK v3
119
+ usbdcd_driver .req [0 ] = usbdev_allocreq (usbdcd_driver .ep [0 ], 64 );
120
+ if (usbdcd_driver .req [0 ] == NULL ) {
121
+ return ENOMEM ;
122
+ }
123
+ #endif
116
124
117
125
usbdcd_driver .req [0 ]-> callback = usbdcd_ep0incomplete ;
118
126
@@ -295,13 +303,19 @@ bool dcd_edpt_open(uint8_t rhport, tusb_desc_endpoint_t const *p_endpoint_desc)
295
303
}
296
304
297
305
usbdcd_driver .req [epnum ] = NULL ;
306
+
307
+ #ifdef EP_ALLOCREQ
308
+ // sdk v2
298
309
usbdcd_driver .req [epnum ] = EP_ALLOCREQ (usbdcd_driver .ep [epnum ]);
299
- if (usbdcd_driver .req [epnum ] != NULL )
300
- {
310
+ if (usbdcd_driver .req [epnum ] != NULL ) {
301
311
usbdcd_driver .req [epnum ]-> len = ep_mps ;
302
312
}
303
- else
304
- {
313
+ #else
314
+ // sdk v3
315
+ usbdcd_driver .req [epnum ] = usbdev_allocreq (usbdcd_driver .ep [epnum ], ep_mps );
316
+ #endif
317
+
318
+ if (usbdcd_driver .req [epnum ] == NULL ) {
305
319
return false;
306
320
}
307
321
0 commit comments