Changes in uspace/lib/usbhost/src/hcd.c [b7fd2a0:f527f58] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbhost/src/hcd.c
rb7fd2a0 rf527f58 49 49 * @return Error code. 50 50 */ 51 static errno_t register_helper(endpoint_t *ep, void *arg)51 static int register_helper(endpoint_t *ep, void *arg) 52 52 { 53 53 hcd_t *hcd = arg; … … 102 102 } 103 103 104 errno_t hcd_request_address(hcd_t *hcd, usb_speed_t speed, usb_address_t *address) 105 { 106 assert(hcd); 107 return usb_bus_request_address(&hcd->bus, address, false, speed); 108 } 109 110 errno_t hcd_release_address(hcd_t *hcd, usb_address_t address) 104 usb_address_t hcd_request_address(hcd_t *hcd, usb_speed_t speed) 105 { 106 assert(hcd); 107 usb_address_t address = 0; 108 const int ret = usb_bus_request_address( 109 &hcd->bus, &address, false, speed); 110 if (ret != EOK) 111 return ret; 112 return address; 113 } 114 115 int hcd_release_address(hcd_t *hcd, usb_address_t address) 111 116 { 112 117 assert(hcd); … … 115 120 } 116 121 117 errno_t hcd_reserve_default_address(hcd_t *hcd, usb_speed_t speed)122 int hcd_reserve_default_address(hcd_t *hcd, usb_speed_t speed) 118 123 { 119 124 assert(hcd); … … 122 127 } 123 128 124 errno_t hcd_add_ep(hcd_t *hcd, usb_target_t target, usb_direction_t dir,129 int hcd_add_ep(hcd_t *hcd, usb_target_t target, usb_direction_t dir, 125 130 usb_transfer_type_t type, size_t max_packet_size, unsigned packets, 126 131 size_t size, usb_address_t tt_address, unsigned tt_port) … … 132 137 } 133 138 134 errno_t hcd_remove_ep(hcd_t *hcd, usb_target_t target, usb_direction_t dir)139 int hcd_remove_ep(hcd_t *hcd, usb_target_t target, usb_direction_t dir) 135 140 { 136 141 assert(hcd); … … 147 152 } toggle_t; 148 153 149 static void toggle_reset_callback( errno_t retval, void *arg)154 static void toggle_reset_callback(int retval, void *arg) 150 155 { 151 156 assert(arg); … … 172 177 * @return Error code. 173 178 */ 174 errno_t hcd_send_batch(179 int hcd_send_batch( 175 180 hcd_t *hcd, usb_target_t target, usb_direction_t direction, 176 181 void *data, size_t size, uint64_t setup_data, … … 232 237 } 233 238 234 const errno_t ret = hcd->ops.schedule(hcd, batch);239 const int ret = hcd->ops.schedule(hcd, batch); 235 240 if (ret != EOK) 236 241 usb_transfer_batch_destroy(batch); … … 244 249 typedef struct { 245 250 volatile unsigned done; 246 errno_t ret;251 int ret; 247 252 size_t size; 248 253 } sync_data_t; 249 254 250 static void transfer_in_cb( errno_t ret, size_t size, void* data)255 static void transfer_in_cb(int ret, size_t size, void* data) 251 256 { 252 257 sync_data_t *d = data; … … 257 262 } 258 263 259 static void transfer_out_cb( errno_t ret, void* data)264 static void transfer_out_cb(int ret, void* data) 260 265 { 261 266 sync_data_t *d = data; … … 266 271 267 272 /** this is really ugly version of sync usb communication */ 268 errno_t hcd_send_batch_sync(273 ssize_t hcd_send_batch_sync( 269 274 hcd_t *hcd, usb_target_t target, usb_direction_t dir, 270 void *data, size_t size, uint64_t setup_data, const char* name , size_t *out_size)275 void *data, size_t size, uint64_t setup_data, const char* name) 271 276 { 272 277 assert(hcd); 273 278 sync_data_t sd = { .done = 0, .ret = EBUSY, .size = size }; 274 279 275 const errno_t ret = hcd_send_batch(hcd, target, dir, data, size, setup_data,280 const int ret = hcd_send_batch(hcd, target, dir, data, size, setup_data, 276 281 dir == USB_DIRECTION_IN ? transfer_in_cb : NULL, 277 282 dir == USB_DIRECTION_OUT ? transfer_out_cb : NULL, &sd, name); … … 284 289 285 290 if (sd.ret == EOK) 286 *out_size =sd.size;291 return sd.size; 287 292 return sd.ret; 288 293 }
Note:
See TracChangeset
for help on using the changeset viewer.