Changes in uspace/drv/usbmid/usbmid.c [fcafa04:3954a63b] in mainline
- File:
-
- 1 edited
-
uspace/drv/usbmid/usbmid.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbmid/usbmid.c
rfcafa04 r3954a63b 79 79 }; 80 80 81 /** Operations of the device itself. */ 82 static ddf_dev_ops_t mid_device_ops = { 83 .interfaces[USB_DEV_IFACE] = &usb_iface_hub_impl 84 }; 85 86 /** Create new USB multi interface device. 87 * 88 * @param dev Backing generic DDF device. 89 * @return New USB MID device. 90 * @retval NULL Error occured. 91 */ 92 usbmid_device_t *usbmid_device_create(ddf_dev_t *dev) 93 { 94 usbmid_device_t *mid = malloc(sizeof(usbmid_device_t)); 95 if (mid == NULL) { 96 usb_log_error("Out of memory (wanted %zu bytes).\n", 97 sizeof(usbmid_device_t)); 98 return NULL; 99 } 100 101 int rc; 102 rc = usb_device_connection_initialize_from_device(&mid->wire, dev); 103 if (rc != EOK) { 104 usb_log_error("Failed to initialize `USB wire': %s.\n", 105 str_error(rc)); 106 free(mid); 107 return NULL; 108 } 109 110 rc = usb_pipe_initialize_default_control(&mid->ctrl_pipe, 111 &mid->wire); 112 if (rc != EOK) { 113 usb_log_error("Failed to initialize control pipe: %s.\n", 114 str_error(rc)); 115 free(mid); 116 return NULL; 117 } 118 rc = usb_pipe_probe_default_control(&mid->ctrl_pipe); 119 if (rc != EOK) { 120 usb_log_error("Probing default control pipe failed: %s.\n", 121 str_error(rc)); 122 free(mid); 123 return NULL; 124 } 125 126 mid->dev = dev; 127 (void) &mid_device_ops; 128 129 return mid; 130 } 131 81 132 /** Create new interface for USB MID device. 82 133 * … … 109 160 * @return Error code. 110 161 */ 111 int usbmid_spawn_interface_child(usb _device_t *parent,162 int usbmid_spawn_interface_child(usbmid_device_t *parent, 112 163 const usb_standard_device_descriptor_t *device_descriptor, 113 164 const usb_standard_interface_descriptor_t *interface_descriptor) … … 131 182 132 183 /* Create the device. */ 133 child = ddf_fun_create(parent->d df_dev, fun_inner, child_name);184 child = ddf_fun_create(parent->dev, fun_inner, child_name); 134 185 if (child == NULL) { 135 186 rc = ENOMEM;
Note:
See TracChangeset
for help on using the changeset viewer.
