Changes in uspace/lib/drv/include/usb_iface.h [95120c3:79784ef8] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/drv/include/usb_iface.h
r95120c3 r79784ef8 38 38 #define LIBDRV_USB_IFACE_H_ 39 39 40 #include "d river.h"40 #include "ddf/driver.h" 41 41 #include <usb/usb.h> 42 42 typedef enum { … … 49 49 * - arbitrary error code if returned by remote implementation 50 50 * - EOK - handle found, first parameter contains the USB address 51 * 52 * The handle must be the one used for binding USB address with 53 * it (IPC_M_USBHC_BIND_ADDRESS), otherwise the host controller 54 * (that this request would eventually reach) would not be able 55 * to find it. 56 * The problem is that this handle is actually assigned to the 57 * function inside driver of the parent device (usually hub driver). 58 * To bypass this problem, the initial caller specify handle as 59 * zero and the first parent assigns the actual value. 60 * See usb_iface_get_address_hub_child_impl() implementation 61 * that could be assigned to device ops of a child device of in a 62 * hub driver. 63 * For example, the USB multi interface device driver (MID) 64 * passes this initial zero without any modification because the 65 * handle must be resolved by its parent. 51 66 */ 52 67 IPC_M_USB_GET_ADDRESS, … … 75 90 /** USB device communication interface. */ 76 91 typedef struct { 77 int (*get_address)(d evice_t *, devman_handle_t, usb_address_t *);78 int (*get_interface)(d evice_t *, devman_handle_t, int *);79 int (*get_hc_handle)(d evice_t *, devman_handle_t *);92 int (*get_address)(ddf_fun_t *, devman_handle_t, usb_address_t *); 93 int (*get_interface)(ddf_fun_t *, devman_handle_t, int *); 94 int (*get_hc_handle)(ddf_fun_t *, devman_handle_t *); 80 95 } usb_iface_t; 81 96
Note:
See TracChangeset
for help on using the changeset viewer.