Changes in uspace/lib/usbdev/src/pipes.c [9d58539:11e9e613] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbdev/src/pipes.c
r9d58539 r11e9e613 54 54 return usb_hc_connection_open(pipe->wire->hc_connection); 55 55 } 56 /*----------------------------------------------------------------------------*/ 56 57 57 /** Terminate a long transfer on a pipe. 58 58 * @param pipe Pipe where to end the long transfer. … … 67 67 return usb_hc_connection_close(pipe->wire->hc_connection); 68 68 } 69 /*----------------------------------------------------------------------------*/ 69 70 70 /** Try to clear endpoint halt of default control pipe. 71 71 * … … 85 85 pipe->auto_reset_halt = true; 86 86 } 87 /*----------------------------------------------------------------------------*/ 87 88 88 /** Request a control read transfer on an endpoint pipe. 89 89 * … … 135 135 return rc; 136 136 } 137 /*----------------------------------------------------------------------------*/ 137 138 138 /** Request a control write transfer on an endpoint pipe. 139 139 * … … 182 182 return rc; 183 183 } 184 /*----------------------------------------------------------------------------*/ 184 185 185 /** Request a read (in) transfer on an endpoint pipe. 186 186 * … … 227 227 return rc; 228 228 } 229 /*----------------------------------------------------------------------------*/ 229 230 230 /** Request a write (out) transfer on an endpoint pipe. 231 231 * … … 259 259 pipe->endpoint_no, buffer, size); 260 260 } 261 /*----------------------------------------------------------------------------*/ 261 262 262 /** Initialize USB endpoint pipe. 263 263 * … … 273 273 usb_device_connection_t *connection, usb_endpoint_t endpoint_no, 274 274 usb_transfer_type_t transfer_type, size_t max_packet_size, 275 usb_direction_t direction )275 usb_direction_t direction, usb_dev_session_t *bus_session) 276 276 { 277 277 assert(pipe); … … 284 284 pipe->direction = direction; 285 285 pipe->auto_reset_halt = false; 286 pipe->bus_session = bus_session; 286 287 287 288 return EOK; 288 289 } 289 /*----------------------------------------------------------------------------*/ 290 290 291 /** Initialize USB endpoint pipe as the default zero control pipe. 291 292 * … … 295 296 */ 296 297 int usb_pipe_initialize_default_control(usb_pipe_t *pipe, 297 usb_device_connection_t *connection )298 usb_device_connection_t *connection, usb_dev_session_t *bus_session) 298 299 { 299 300 assert(pipe); … … 301 302 302 303 int rc = usb_pipe_initialize(pipe, connection, 0, USB_TRANSFER_CONTROL, 303 CTRL_PIPE_MIN_PACKET_SIZE, USB_DIRECTION_BOTH );304 CTRL_PIPE_MIN_PACKET_SIZE, USB_DIRECTION_BOTH, bus_session); 304 305 305 306 pipe->auto_reset_halt = true; … … 307 308 return rc; 308 309 } 309 /*----------------------------------------------------------------------------*/ 310 310 311 /** Register endpoint with the host controller. 311 312 * … … 317 318 { 318 319 assert(pipe); 319 assert(pipe->wire); 320 321 return usb_device_register_endpoint(pipe->wire, 322 pipe->endpoint_no, pipe->transfer_type, 323 pipe->direction, pipe->max_packet_size, interval); 324 } 325 /*----------------------------------------------------------------------------*/ 320 assert(pipe->bus_session); 321 async_exch_t *exch = async_exchange_begin(pipe->bus_session); 322 if (!exch) 323 return ENOMEM; 324 const int ret = usb_register_endpoint(exch, pipe->endpoint_no, 325 pipe->transfer_type, pipe->direction, pipe->max_packet_size, 326 interval); 327 async_exchange_end(exch); 328 return ret; 329 } 330 326 331 /** Revert endpoint registration with the host controller. 327 332 * … … 332 337 { 333 338 assert(pipe); 334 assert(pipe->wire); 335 336 return usb_device_unregister_endpoint(pipe->wire, 337 pipe->endpoint_no, pipe->direction); 339 assert(pipe->bus_session); 340 async_exch_t *exch = async_exchange_begin(pipe->bus_session); 341 if (!exch) 342 return ENOMEM; 343 const int ret = usb_unregister_endpoint(exch, pipe->endpoint_no, 344 pipe->direction); 345 async_exchange_end(exch); 346 return ret; 338 347 } 339 348
Note:
See TracChangeset
for help on using the changeset viewer.