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_serial.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_serial.c')
-rw-r--r-- | firmware/usbstack/usb_serial.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/firmware/usbstack/usb_serial.c b/firmware/usbstack/usb_serial.c index 370afcb7f1..246938a1ef 100644 --- a/firmware/usbstack/usb_serial.c +++ b/firmware/usbstack/usb_serial.c | |||
@@ -77,11 +77,12 @@ static int usb_interface; | |||
77 | 77 | ||
78 | int usb_serial_request_endpoints(struct usb_class_driver *drv) | 78 | int usb_serial_request_endpoints(struct usb_class_driver *drv) |
79 | { | 79 | { |
80 | ep_in = usb_core_request_endpoint(USB_DIR_IN, drv); | 80 | ep_in = usb_core_request_endpoint(USB_ENDPOINT_XFER_BULK, USB_DIR_IN, drv); |
81 | if (ep_in < 0) | 81 | if (ep_in < 0) |
82 | return -1; | 82 | return -1; |
83 | 83 | ||
84 | ep_out = usb_core_request_endpoint(USB_DIR_OUT, drv); | 84 | ep_out = usb_core_request_endpoint(USB_ENDPOINT_XFER_BULK, USB_DIR_OUT, |
85 | drv); | ||
85 | if (ep_out < 0) { | 86 | if (ep_out < 0) { |
86 | usb_core_release_endpoint(ep_in); | 87 | usb_core_release_endpoint(ep_in); |
87 | return -1; | 88 | return -1; |
@@ -101,15 +102,15 @@ int usb_serial_get_config_descriptor(unsigned char *dest, int max_packet_size) | |||
101 | unsigned char *orig_dest = dest; | 102 | unsigned char *orig_dest = dest; |
102 | 103 | ||
103 | interface_descriptor.bInterfaceNumber = usb_interface; | 104 | interface_descriptor.bInterfaceNumber = usb_interface; |
104 | PACK_DESCRIPTOR(dest, interface_descriptor); | 105 | PACK_DATA(dest, interface_descriptor); |
105 | 106 | ||
106 | endpoint_descriptor.wMaxPacketSize = max_packet_size; | 107 | endpoint_descriptor.wMaxPacketSize = max_packet_size; |
107 | 108 | ||
108 | endpoint_descriptor.bEndpointAddress = ep_in; | 109 | endpoint_descriptor.bEndpointAddress = ep_in; |
109 | PACK_DESCRIPTOR(dest, endpoint_descriptor); | 110 | PACK_DATA(dest, endpoint_descriptor); |
110 | 111 | ||
111 | endpoint_descriptor.bEndpointAddress = ep_out; | 112 | endpoint_descriptor.bEndpointAddress = ep_out; |
112 | PACK_DESCRIPTOR(dest, endpoint_descriptor); | 113 | PACK_DATA(dest, endpoint_descriptor); |
113 | 114 | ||
114 | return (dest - orig_dest); | 115 | return (dest - orig_dest); |
115 | } | 116 | } |