Changes in uspace/lib/usb/src/usbdrv.c [cb59f787:6c8ada21] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/src/usbdrv.c
rcb59f787 r6c8ada21 64 64 * Call parent hub to obtain device handle of respective HC. 65 65 */ 66 return ENOTSUP; 66 67 /* 68 * FIXME: currently we connect always to virtual host controller. 69 */ 70 int rc; 71 devman_handle_t handle; 72 73 rc = devman_device_get_handle("/vhc", &handle, 0); 74 if (rc != EOK) { 75 return rc; 76 } 77 78 int phone = devman_device_connect(handle, 0); 79 80 return phone; 67 81 } 68 82 … … 75 89 usb_address_t usb_drv_get_my_address(int phone, device_t *dev) 76 90 { 77 return ENOTSUP; 91 ipcarg_t address; 92 int rc = async_req_1_1(phone, IPC_M_USBHC_GET_ADDRESS, 93 dev->handle, &address); 94 95 if (rc != EOK) { 96 return rc; 97 } 98 99 return (usb_address_t) address; 78 100 } 79 101 … … 323 345 } 324 346 347 /** Start control write transfer. */ 348 int usb_drv_async_control_write_setup(int phone, usb_target_t target, 349 void *buffer, size_t size, 350 usb_handle_t *handle) 351 { 352 return async_send_buffer(phone, 353 IPC_M_USBHC_CONTROL_WRITE_SETUP, 354 target, 355 buffer, size, 356 handle); 357 } 358 359 /** Send data during control write transfer. */ 360 int usb_drv_async_control_write_data(int phone, usb_target_t target, 361 void *buffer, size_t size, 362 usb_handle_t *handle) 363 { 364 return async_send_buffer(phone, 365 IPC_M_USBHC_CONTROL_WRITE_DATA, 366 target, 367 buffer, size, 368 handle); 369 } 370 371 /** Finalize control write transfer. */ 372 int usb_drv_async_control_write_status(int phone, usb_target_t target, 373 usb_handle_t *handle) 374 { 375 return async_recv_buffer(phone, 376 IPC_M_USBHC_CONTROL_WRITE_STATUS, 377 target, 378 NULL, 0, NULL, 379 handle); 380 } 381 382 /** Start control read transfer. */ 383 int usb_drv_async_control_read_setup(int phone, usb_target_t target, 384 void *buffer, size_t size, 385 usb_handle_t *handle) 386 { 387 return async_send_buffer(phone, 388 IPC_M_USBHC_CONTROL_READ_SETUP, 389 target, 390 buffer, size, 391 handle); 392 } 393 394 /** Read data during control read transfer. */ 395 int usb_drv_async_control_read_data(int phone, usb_target_t target, 396 void *buffer, size_t size, size_t *actual_size, 397 usb_handle_t *handle) 398 { 399 return async_recv_buffer(phone, 400 IPC_M_USBHC_CONTROL_READ_DATA, 401 target, 402 buffer, size, actual_size, 403 handle); 404 } 405 406 /** Finalize control read transfer. */ 407 int usb_drv_async_control_read_status(int phone, usb_target_t target, 408 usb_handle_t *handle) 409 { 410 return async_send_buffer(phone, 411 IPC_M_USBHC_CONTROL_READ_STATUS, 412 target, 413 NULL, 0, 414 handle); 415 } 416 325 417 /** 326 418 * @}
Note:
See TracChangeset
for help on using the changeset viewer.