Changes in uspace/lib/usbhost/src/iface.c [6b6fc232:cbd568b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbhost/src/iface.c
r6b6fc232 rcbd568b 39 39 #include <usb/host/hcd.h> 40 40 41 /** Prepare generic usb_transfer_batch and schedule it. 42 * @param fun DDF fun 43 * @param target address and endpoint number. 44 * @param setup_data Data to use in setup stage (Control communication type) 45 * @param in Callback for device to host communication. 46 * @param out Callback for host to device communication. 47 * @param arg Callback parameter. 48 * @param name Communication identifier (for nicer output). 49 * @return Error code. 50 */ 41 51 static inline int send_batch( 42 52 ddf_fun_t *fun, usb_target_t target, usb_direction_t direction, … … 89 99 } 90 100 /*----------------------------------------------------------------------------*/ 101 /** Calls ep_add_hook upon endpoint registration. 102 * @param ep Endpoint to be registered. 103 * @param arg hcd_t in disguise. 104 * @return Error code. 105 */ 91 106 static int register_helper(endpoint_t *ep, void *arg) 92 107 { … … 99 114 } 100 115 /*----------------------------------------------------------------------------*/ 116 /** Calls ep_remove_hook upon endpoint removal. 117 * @param ep Endpoint to be unregistered. 118 * @param arg hcd_t in disguise. 119 */ 101 120 static void unregister_helper(endpoint_t *ep, void *arg) 102 121 { … … 108 127 } 109 128 /*----------------------------------------------------------------------------*/ 129 /** Calls ep_remove_hook upon endpoint removal. Prints warning. 130 * @param ep Endpoint to be unregistered. 131 * @param arg hcd_t in disguise. 132 */ 110 133 static void unregister_helper_warn(endpoint_t *ep, void *arg) 111 134 { … … 119 142 } 120 143 /*----------------------------------------------------------------------------*/ 121 /** Request address interface function 144 /** Request address interface function. 122 145 * 123 146 * @param[in] fun DDF function that was called. 147 * @param[in] address Pointer to preferred USB address. 148 * @param[out] address Place to write a new address. 149 * @param[in] strict Fail if the preferred address is not available. 124 150 * @param[in] speed Speed to associate with the new default address. 125 * @param[out] address Place to write a new address.126 151 * @return Error code. 127 152 */ … … 140 165 } 141 166 /*----------------------------------------------------------------------------*/ 142 /** Bind address interface function 167 /** Bind address interface function. 143 168 * 144 169 * @param[in] fun DDF function that was called. … … 148 173 */ 149 174 static int bind_address( 150 ddf_fun_t *fun, usb_address_t address, devman_handle_t handle)175 ddf_fun_t *fun, usb_address_t address, devman_handle_t handle) 151 176 { 152 177 assert(fun); … … 176 201 } 177 202 /*----------------------------------------------------------------------------*/ 178 /** Release address interface function 203 /** Release address interface function. 179 204 * 180 205 * @param[in] fun DDF function that was called. … … 194 219 } 195 220 /*----------------------------------------------------------------------------*/ 221 /** Register endpoint interface function. 222 * @param fun DDF function. 223 * @param address USB address of the device. 224 * @param endpoint USB endpoint number to be registered. 225 * @param transfer_type Endpoint's transfer type. 226 * @param direction USB communication direction the endpoint is capable of. 227 * @param max_packet_size Maximu size of packets the endpoint accepts. 228 * @param interval Preferred timeout between communication. 229 * @return Error code. 230 */ 196 231 static int register_endpoint( 197 232 ddf_fun_t *fun, usb_address_t address, usb_endpoint_t endpoint, 198 233 usb_transfer_type_t transfer_type, usb_direction_t direction, 199 size_t max_packet_size, unsigned int interval)234 size_t max_packet_size, unsigned interval) 200 235 { 201 236 assert(fun); … … 220 255 } 221 256 /*----------------------------------------------------------------------------*/ 257 /** Unregister endpoint interface function. 258 * @param fun DDF function. 259 * @param address USB address of the endpoint. 260 * @param endpoint USB endpoint number. 261 * @param direction Communication direction of the enpdoint to unregister. 262 * @return Error code. 263 */ 222 264 static int unregister_endpoint( 223 265 ddf_fun_t *fun, usb_address_t address, … … 233 275 } 234 276 /*----------------------------------------------------------------------------*/ 277 /** Inbound communication interface function. 278 * @param fun DDF function. 279 * @param target Communication target. 280 * @param setup_data Data to use in setup stage (control transfers). 281 * @param data Pointer to data buffer. 282 * @param size Size of the data buffer. 283 * @param callback Function to call on communication end. 284 * @param arg Argument passed to the callback function. 285 * @return Error code. 286 */ 235 287 static int usb_read(ddf_fun_t *fun, usb_target_t target, uint64_t setup_data, 236 288 uint8_t *data, size_t size, usbhc_iface_transfer_in_callback_t callback, … … 241 293 } 242 294 /*----------------------------------------------------------------------------*/ 295 /** Outbound communication interface function. 296 * @param fun DDF function. 297 * @param target Communication target. 298 * @param setup_data Data to use in setup stage (control transfers). 299 * @param data Pointer to data buffer. 300 * @param size Size of the data buffer. 301 * @param callback Function to call on communication end. 302 * @param arg Argument passed to the callback function. 303 * @return Error code. 304 */ 243 305 static int usb_write(ddf_fun_t *fun, usb_target_t target, uint64_t setup_data, 244 306 const uint8_t *data, size_t size, … … 249 311 } 250 312 /*----------------------------------------------------------------------------*/ 313 /** usbhc Interface implementation using hcd_t from libusbhost library. */ 251 314 usbhc_iface_t hcd_iface = { 252 315 .request_address = request_address, 253 316 .bind_address = bind_address, 254 . find_by_address= find_by_address,317 .get_handle = find_by_address, 255 318 .release_address = release_address, 256 319
Note:
See TracChangeset
for help on using the changeset viewer.