Changeset 5595841 in mainline for uspace/lib/usbhost/src/ddf_helpers.c
- Timestamp:
- 2018-01-31T16:02:34Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 3b60ea0
- Parents:
- 2b3dd78
- git-author:
- Ondřej Hlavatý <aearsis@…> (2018-01-31 15:49:24)
- git-committer:
- Ondřej Hlavatý <aearsis@…> (2018-01-31 16:02:34)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbhost/src/ddf_helpers.c
r2b3dd78 r5595841 254 254 } 255 255 256 /** Inbound communication interface function. 256 /** 257 * Transfer issuing interface function. 258 * 257 259 * @param fun DDF function. 258 260 * @param target Communication target. 261 * @param dir Communication direction. 259 262 * @param setup_data Data to use in setup stage (control transfers). 260 263 * @param data Pointer to data buffer. … … 264 267 * @return Error code. 265 268 */ 266 static errno_t dev_read(ddf_fun_t *fun, usb_target_t target,267 u int64_t setup_data, char *data, size_t size,269 static errno_t transfer(ddf_fun_t *fun, usb_target_t target, 270 usb_direction_t dir, uint64_t setup_data, char *data, size_t size, 268 271 usbhc_iface_transfer_callback_t callback, void *arg) 269 272 { … … 283 286 return EBADMEM; 284 287 285 return bus_device_send_batch(dev, target, USB_DIRECTION_IN, 286 data, size, setup_data, 287 callback, arg, "READ"); 288 } 289 290 /** Outbound communication interface function. 291 * @param fun DDF function. 292 * @param target Communication target. 293 * @param setup_data Data to use in setup stage (control transfers). 294 * @param data Pointer to data buffer. 295 * @param size Size of the data buffer. 296 * @param callback Function to call on communication end. 297 * @param arg Argument passed to the callback function. 298 * @return Error code. 299 */ 300 static errno_t dev_write(ddf_fun_t *fun, usb_target_t target, 301 uint64_t setup_data, const char *data, size_t size, 302 usbhc_iface_transfer_callback_t callback, void *arg) 303 { 304 assert(fun); 305 device_t *dev = ddf_fun_data_get(fun); 306 assert(dev); 307 308 target.address = dev->address; 309 310 if (!usb_target_is_valid(&target)) 311 return EINVAL; 312 313 if (size > 0 && data == NULL) 314 return EBADMEM; 315 316 if (!callback && arg) 317 return EBADMEM; 318 319 return bus_device_send_batch(dev, target, USB_DIRECTION_OUT, 288 const char *name = (dir == USB_DIRECTION_IN) ? "READ" : "WRITE"; 289 290 return bus_device_send_batch(dev, target, dir, 320 291 (char *) data, size, setup_data, 321 callback, arg, "WRITE");292 callback, arg, name); 322 293 } 323 294 … … 337 308 .unregister_endpoint = unregister_endpoint, 338 309 339 .read = dev_read, 340 .write = dev_write, 310 .transfer = transfer, 341 311 }; 342 312
Note:
See TracChangeset
for help on using the changeset viewer.