diff options
author | Frank Gevaerts <frank@gevaerts.be> | 2009-05-16 15:30:09 +0000 |
---|---|---|
committer | Frank Gevaerts <frank@gevaerts.be> | 2009-05-16 15:30:09 +0000 |
commit | 69a4117c1d15d91836de91abe5f8f93b868ec808 (patch) | |
tree | a3d47f51a0998506ef7b0f5332ddecae3e2106d2 /firmware/usbstack/usb_storage.c | |
parent | e435e4d976757f8436484a5b4d158ab7545fcdb6 (diff) | |
download | rockbox-69a4117c1d15d91836de91abe5f8f93b868ec808.tar.gz rockbox-69a4117c1d15d91836de91abe5f8f93b868ec808.zip |
Add working USB HID driver, by Tomer Shalev (part of his GSoC work).
This needs support for usb interrupt transfers, so there are some changes in various USB drivers as well (only usb-drv-arc supports it at this point, others won't have working HID yet).
HID is disabled for now, as the apps/ part is not included yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20962 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usbstack/usb_storage.c')
-rw-r--r-- | firmware/usbstack/usb_storage.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index 464283551a..73176ee93e 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c | |||
@@ -349,12 +349,13 @@ void usb_storage_init(void) | |||
349 | 349 | ||
350 | int usb_storage_request_endpoints(struct usb_class_driver *drv) | 350 | int usb_storage_request_endpoints(struct usb_class_driver *drv) |
351 | { | 351 | { |
352 | ep_in = usb_core_request_endpoint(USB_DIR_IN, drv); | 352 | ep_in = usb_core_request_endpoint(USB_ENDPOINT_XFER_BULK, USB_DIR_IN, drv); |
353 | 353 | ||
354 | if(ep_in<0) | 354 | if(ep_in<0) |
355 | return -1; | 355 | return -1; |
356 | 356 | ||
357 | ep_out = usb_core_request_endpoint(USB_DIR_OUT, drv); | 357 | ep_out = usb_core_request_endpoint(USB_ENDPOINT_XFER_BULK, USB_DIR_OUT, |
358 | drv); | ||
358 | 359 | ||
359 | if(ep_out<0) { | 360 | if(ep_out<0) { |
360 | usb_core_release_endpoint(ep_in); | 361 | usb_core_release_endpoint(ep_in); |
@@ -375,15 +376,15 @@ int usb_storage_get_config_descriptor(unsigned char *dest,int max_packet_size) | |||
375 | unsigned char *orig_dest = dest; | 376 | unsigned char *orig_dest = dest; |
376 | 377 | ||
377 | interface_descriptor.bInterfaceNumber = usb_interface; | 378 | interface_descriptor.bInterfaceNumber = usb_interface; |
378 | PACK_DESCRIPTOR(dest, interface_descriptor); | 379 | PACK_DATA(dest, interface_descriptor); |
379 | 380 | ||
380 | endpoint_descriptor.wMaxPacketSize = max_packet_size; | 381 | endpoint_descriptor.wMaxPacketSize = max_packet_size; |
381 | 382 | ||
382 | endpoint_descriptor.bEndpointAddress = ep_in; | 383 | endpoint_descriptor.bEndpointAddress = ep_in; |
383 | PACK_DESCRIPTOR(dest, endpoint_descriptor); | 384 | PACK_DATA(dest, endpoint_descriptor); |
384 | 385 | ||
385 | endpoint_descriptor.bEndpointAddress = ep_out; | 386 | endpoint_descriptor.bEndpointAddress = ep_out; |
386 | PACK_DESCRIPTOR(dest, endpoint_descriptor); | 387 | PACK_DATA(dest, endpoint_descriptor); |
387 | 388 | ||
388 | return (dest - orig_dest); | 389 | return (dest - orig_dest); |
389 | } | 390 | } |