Changeset 46e078a in mainline for uspace/lib/drv
- Timestamp:
- 2011-04-09T23:50:05Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1c258d1
- Parents:
- 0748854
- Location:
- uspace/lib/drv
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/drv/generic/remote_usbhc.c
r0748854 r46e078a 50 50 static void remote_usbhc_control_write(ddf_fun_t *, void *, ipc_callid_t, ipc_call_t *); 51 51 static void remote_usbhc_control_read(ddf_fun_t *, void *, ipc_callid_t, ipc_call_t *); 52 static void remote_usbhc_reserve_default_address(ddf_fun_t *, void *, ipc_callid_t, ipc_call_t *);53 static void remote_usbhc_release_default_address(ddf_fun_t *, void *, ipc_callid_t, ipc_call_t *);54 52 static void remote_usbhc_request_address(ddf_fun_t *, void *, ipc_callid_t, ipc_call_t *); 55 53 static void remote_usbhc_bind_address(ddf_fun_t *, void *, ipc_callid_t, ipc_call_t *); … … 61 59 /** Remote USB host controller interface operations. */ 62 60 static remote_iface_func_ptr_t remote_usbhc_iface_ops [] = { 63 remote_usbhc_reserve_default_address,64 remote_usbhc_release_default_address,65 66 61 remote_usbhc_request_address, 67 62 remote_usbhc_bind_address, … … 127 122 128 123 return trans; 129 }130 131 void remote_usbhc_reserve_default_address(ddf_fun_t *fun, void *iface,132 ipc_callid_t callid, ipc_call_t *call)133 {134 usbhc_iface_t *usb_iface = (usbhc_iface_t *) iface;135 136 if (!usb_iface->reserve_default_address) {137 async_answer_0(callid, ENOTSUP);138 return;139 }140 141 usb_speed_t speed = DEV_IPC_GET_ARG1(*call);142 143 int rc = usb_iface->reserve_default_address(fun, speed);144 145 async_answer_0(callid, rc);146 }147 148 void remote_usbhc_release_default_address(ddf_fun_t *fun, void *iface,149 ipc_callid_t callid, ipc_call_t *call)150 {151 usbhc_iface_t *usb_iface = (usbhc_iface_t *) iface;152 153 if (!usb_iface->release_default_address) {154 async_answer_0(callid, ENOTSUP);155 return;156 }157 158 int rc = usb_iface->release_default_address(fun);159 160 async_answer_0(callid, rc);161 124 } 162 125 -
uspace/lib/drv/include/usbhc_iface.h
r0748854 r46e078a 84 84 */ 85 85 typedef enum { 86 /** Reserve usage of default address.87 * This call informs the host controller that the caller will be88 * using default USB address. It is duty of the HC driver to ensure89 * that only single entity will have it reserved.90 * The address is returned via IPC_M_USBHC_RELEASE_DEFAULT_ADDRESS.91 * The caller can start using the address after receiving EOK92 * answer.93 */94 IPC_M_USBHC_RESERVE_DEFAULT_ADDRESS,95 96 /** Release usage of default address.97 * @see IPC_M_USBHC_RESERVE_DEFAULT_ADDRESS98 */99 IPC_M_USBHC_RELEASE_DEFAULT_ADDRESS,100 101 86 /** Asks for address assignment by host controller. 102 87 * Answer:
Note:
See TracChangeset
for help on using the changeset viewer.