Changes in uspace/lib/drv/include/usb_iface.h [79784ef8:95120c3] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/drv/include/usb_iface.h
r79784ef8 r95120c3 38 38 #define LIBDRV_USB_IFACE_H_ 39 39 40 #include "d df/driver.h"40 #include "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 with53 * it (IPC_M_USBHC_BIND_ADDRESS), otherwise the host controller54 * (that this request would eventually reach) would not be able55 * to find it.56 * The problem is that this handle is actually assigned to the57 * function inside driver of the parent device (usually hub driver).58 * To bypass this problem, the initial caller specify handle as59 * zero and the first parent assigns the actual value.60 * See usb_iface_get_address_hub_child_impl() implementation61 * that could be assigned to device ops of a child device of in a62 * hub driver.63 * For example, the USB multi interface device driver (MID)64 * passes this initial zero without any modification because the65 * handle must be resolved by its parent.66 51 */ 67 52 IPC_M_USB_GET_ADDRESS, … … 90 75 /** USB device communication interface. */ 91 76 typedef struct { 92 int (*get_address)(d df_fun_t *, devman_handle_t, usb_address_t *);93 int (*get_interface)(d df_fun_t *, devman_handle_t, int *);94 int (*get_hc_handle)(d df_fun_t *, devman_handle_t *);77 int (*get_address)(device_t *, devman_handle_t, usb_address_t *); 78 int (*get_interface)(device_t *, devman_handle_t, int *); 79 int (*get_hc_handle)(device_t *, devman_handle_t *); 95 80 } usb_iface_t; 96 81
Note:
See TracChangeset
for help on using the changeset viewer.