Changeset 91173333 in mainline for uspace/drv/bus/usb/usbmid/main.c
- Timestamp:
- 2018-01-13T21:36:13Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- edc51615
- Parents:
- 8a0c52a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/usbmid/main.c
r8a0c52a r91173333 56 56 } 57 57 58 static int destroy_interfaces(usb_mid_t *usb_mid) 59 { 60 int ret = EOK; 61 62 while (!list_empty(&usb_mid->interface_list)) { 63 link_t *item = list_first(&usb_mid->interface_list); 64 list_remove(item); 65 66 usbmid_interface_t *iface = usbmid_interface_from_link(item); 67 68 const int pret = usbmid_interface_destroy(iface); 69 if (pret != EOK) { 70 usb_log_error("Failed to remove child `%s': %s\n", 71 ddf_fun_get_name(iface->fun), str_error(pret)); 72 ret = pret; 73 } 74 } 75 76 return ret; 77 } 78 58 79 /** Callback when a MID device is about to be removed from the host. 59 80 * … … 90 111 } 91 112 92 return ret;93 }94 95 static int destroy_interfaces(usb_mid_t *usb_mid)96 {97 int ret = EOK;98 99 while (!list_empty(&usb_mid->interface_list)) {100 link_t *item = list_first(&usb_mid->interface_list);101 list_remove(item);102 103 usbmid_interface_t *iface = usbmid_interface_from_link(item);104 105 const int pret = usbmid_interface_destroy(iface);106 if (pret != EOK) {107 usb_log_error("Failed to remove child `%s': %s\n",108 ddf_fun_get_name(iface->fun), str_error(pret));109 ret = pret;110 }111 }112 113 return ret;114 }115 116 static int usbmid_device_removed(usb_device_t *dev)117 {118 assert(dev);119 usb_mid_t *usb_mid = usb_device_data_get(dev);120 assert(usb_mid);121 122 /* Children are offline. Destroy them now. */123 113 return destroy_interfaces(usb_mid); 124 114 } … … 166 156 .device_add = usbmid_device_add, 167 157 .device_remove = usbmid_device_remove, 168 .device_removed = usbmid_device_removed,169 158 .device_gone = usbmid_device_gone, 170 159 .function_online = usbmid_function_online,
Note:
See TracChangeset
for help on using the changeset viewer.