Changeset 9e2132a in mainline for uspace/drv/bus/usb/usbmid/usbmid.c
- Timestamp:
- 2012-12-30T20:14:13Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 17bbb28
- Parents:
- 6df4adc4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/usbmid/usbmid.c
r6df4adc4 r9e2132a 30 30 * @{ 31 31 */ 32 33 /* XXX Fix this */34 #define _DDF_DATA_IMPLANT35 32 36 33 /** … … 81 78 return ret; 82 79 } 83 /* NOTE: usbmid->interface points somewhere, but we did not84 * allocate that space, so don't touch */85 80 ddf_fun_destroy(mid_iface->fun); 86 /* NOTE: mid_iface is invalid at this point, it was assigned to87 * mid_iface->fun->driver_data and freed in ddf_fun_destroy */88 81 return EOK; 89 82 } … … 98 91 */ 99 92 int usbmid_spawn_interface_child(usb_device_t *parent, 100 usbmid_interface_t * iface,93 usbmid_interface_t **iface_ret, 101 94 const usb_standard_device_descriptor_t *device_descriptor, 102 95 const usb_standard_interface_descriptor_t *interface_descriptor) … … 145 138 } 146 139 clean_match_ids(&match_ids); 140 ddf_fun_set_ops(child, &child_device_ops); 141 142 usbmid_interface_t *iface = ddf_fun_data_alloc(child, sizeof(*iface)); 143 144 iface->fun = child; 145 iface->interface_no = interface_descriptor->interface_number; 146 link_initialize(&iface->link); 147 147 148 148 rc = ddf_fun_bind(child); … … 152 152 return rc; 153 153 } 154 155 iface->fun = child; 156 ddf_fun_data_implant(child, iface); 157 ddf_fun_set_ops(child, &child_device_ops); 154 *iface_ret = iface; 158 155 159 156 return EOK;
Note:
See TracChangeset
for help on using the changeset viewer.