Changes in uspace/drv/bus/usb/usbmid/usbmid.c [b7fd2a0:e0a5d4c] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/usbmid/usbmid.c
rb7fd2a0 re0a5d4c 1 1 /* 2 2 * Copyright (c) 2011 Vojtech Horky 3 * Copyright (c) 2018 Ondrej Hlavaty 3 4 * All rights reserved. 4 5 * … … 45 46 #include "usbmid.h" 46 47 47 /** Get USB device handle by calling the parent usb_device_t. 48 /** 49 * Get USB device description by calling HC and altering the interface field. 48 50 * 49 51 * @param[in] fun Device function the operation is running on. 50 * @param[out] handle Device handle.52 * @param[out] desc Device descriptor. 51 53 * @return Error code. 52 54 */ 53 static errno_t usb_iface_device_handle(ddf_fun_t *fun, devman_handle_t *handle) 54 { 55 assert(fun); 56 assert(handle); 57 usb_device_t *usb_dev = usb_device_get(ddf_fun_get_dev(fun)); 58 *handle = usb_device_get_devman_handle(usb_dev); 59 return EOK; 60 } 61 62 /** Callback for DDF USB get interface. */ 63 static errno_t usb_iface_iface_no(ddf_fun_t *fun, int *iface_no) 55 static errno_t usb_iface_description(ddf_fun_t *fun, usb_device_desc_t *desc) 64 56 { 65 57 usbmid_interface_t *iface = ddf_fun_data_get(fun); 66 58 assert(iface); 59 usb_device_t *usb_dev = ddf_dev_data_get(ddf_fun_get_dev(fun)); 60 assert(usb_dev); 67 61 68 if (iface_no) 69 *iface_no = iface->interface_no; 62 async_exch_t *exch = usb_device_bus_exchange_begin(usb_dev); 63 if (!exch) 64 return EPARTY; 65 66 usb_device_desc_t tmp_desc; 67 const errno_t ret = usb_get_my_description(exch, &tmp_desc); 68 69 if (ret == EOK && desc) { 70 *desc = tmp_desc; 71 desc->iface = iface->interface_no; 72 } 73 74 usb_device_bus_exchange_end(exch); 70 75 71 76 return EOK; … … 74 79 /** DDF interface of the child - USB functions. */ 75 80 static usb_iface_t child_usb_iface = { 76 .get_my_device_handle = usb_iface_device_handle, 77 .get_my_interface = usb_iface_iface_no, 81 .get_my_description = usb_iface_description, 78 82 }; 79 83 … … 117 121 * class name something humanly understandable. 118 122 */ 119 int ret = asprintf(&child_name, "%s%hhu",123 errno_t ret = asprintf(&child_name, "%s%hhu", 120 124 usb_str_class(interface_descriptor->interface_class), 121 125 interface_descriptor->interface_number);
Note:
See TracChangeset
for help on using the changeset viewer.