Changeset 5a6cc679 in mainline for uspace/drv/bus/usb/vhc
- Timestamp:
- 2018-01-31T02:21:24Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a0a9cc2
- Parents:
- 132ab5d1
- Location:
- uspace/drv/bus/usb/vhc
- Files:
-
- 10 edited
-
conndev.c (modified) (2 diffs)
-
devconn.c (modified) (2 diffs)
-
hub/hub.c (modified) (3 diffs)
-
hub/hub.h (modified) (1 diff)
-
hub/virthub.c (modified) (2 diffs)
-
hub/virthub.h (modified) (1 diff)
-
hub/virthubops.c (modified) (9 diffs)
-
main.c (modified) (3 diffs)
-
transfer.c (modified) (7 diffs)
-
vhcd.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/vhc/conndev.c
r132ab5d1 r5a6cc679 75 75 } 76 76 77 int data_request_rc;78 int opening_request_rc;77 errno_t data_request_rc; 78 errno_t opening_request_rc; 79 79 async_wait_for(data_request, &data_request_rc); 80 80 async_wait_for(opening_request, &opening_request_rc); … … 102 102 103 103 if (callback) { 104 int rc = vhc_virtdev_plug(vhc, callback, &plugged_device_handle);104 errno_t rc = vhc_virtdev_plug(vhc, callback, &plugged_device_handle); 105 105 if (rc != EOK) { 106 106 async_answer_0(icallid, rc); -
uspace/drv/bus/usb/vhc/devconn.c
r132ab5d1 r5a6cc679 49 49 } 50 50 51 static int vhc_virtdev_plug_generic(vhc_data_t *vhc,51 static errno_t vhc_virtdev_plug_generic(vhc_data_t *vhc, 52 52 async_sess_t *sess, usbvirt_device_t *virtdev, 53 53 uintptr_t *handle, bool connect, usb_address_t address) … … 85 85 } 86 86 87 int vhc_virtdev_plug(vhc_data_t *vhc, async_sess_t *sess, uintptr_t *handle)87 errno_t vhc_virtdev_plug(vhc_data_t *vhc, async_sess_t *sess, uintptr_t *handle) 88 88 { 89 89 return vhc_virtdev_plug_generic(vhc, sess, NULL, handle, true, 0); 90 90 } 91 91 92 int vhc_virtdev_plug_local(vhc_data_t *vhc, usbvirt_device_t *dev, uintptr_t *handle)92 errno_t vhc_virtdev_plug_local(vhc_data_t *vhc, usbvirt_device_t *dev, uintptr_t *handle) 93 93 { 94 94 return vhc_virtdev_plug_generic(vhc, NULL, dev, handle, true, 0); 95 95 } 96 96 97 int vhc_virtdev_plug_hub(vhc_data_t *vhc, usbvirt_device_t *dev,97 errno_t vhc_virtdev_plug_hub(vhc_data_t *vhc, usbvirt_device_t *dev, 98 98 uintptr_t *handle, usb_address_t address) 99 99 { -
uspace/drv/bus/usb/vhc/hub/hub.c
r132ab5d1 r5a6cc679 63 63 static void set_port_status_change(hub_port_t *, hub_status_change_t); 64 64 static void clear_port_status_change(hub_port_t *, uint16_t); 65 static int set_port_state_delayed_fibril(void *);65 static errno_t set_port_state_delayed_fibril(void *); 66 66 static void set_port_state_delayed(hub_t *, size_t, suseconds_t, 67 67 hub_port_state_t, hub_port_state_t); … … 163 163 * @return Error code. 164 164 */ 165 int hub_disconnect_device(hub_t *hub, void *device)165 errno_t hub_disconnect_device(hub_t *hub, void *device) 166 166 { 167 167 size_t index = hub_find_device(hub, device); … … 461 461 * @return Always EOK. 462 462 */ 463 static int set_port_state_delayed_fibril(void *arg)463 static errno_t set_port_state_delayed_fibril(void *arg) 464 464 { 465 465 struct delay_port_state_change *change -
uspace/drv/bus/usb/vhc/hub/hub.h
r132ab5d1 r5a6cc679 102 102 void hub_init(hub_t *); 103 103 size_t hub_connect_device(hub_t *, void *); 104 int hub_disconnect_device(hub_t *, void *);104 errno_t hub_disconnect_device(hub_t *, void *); 105 105 size_t hub_find_device(hub_t *, void *); 106 106 void hub_acquire(hub_t *); -
uspace/drv/bus/usb/vhc/hub/virthub.c
r132ab5d1 r5a6cc679 147 147 * @return Error code. 148 148 */ 149 int virthub_init(usbvirt_device_t *dev, const char* name)149 errno_t virthub_init(usbvirt_device_t *dev, const char* name) 150 150 { 151 151 if (dev == NULL) { … … 197 197 * @return Error code. 198 198 */ 199 int virthub_disconnect_device(usbvirt_device_t *dev, vhc_virtdev_t *conn)199 errno_t virthub_disconnect_device(usbvirt_device_t *dev, vhc_virtdev_t *conn) 200 200 { 201 201 assert(dev != NULL); -
uspace/drv/bus/usb/vhc/hub/virthub.h
r132ab5d1 r5a6cc679 80 80 extern hub_descriptor_t hub_descriptor; 81 81 82 int virthub_init(usbvirt_device_t *, const char *name);82 errno_t virthub_init(usbvirt_device_t *, const char *name); 83 83 int virthub_connect_device(usbvirt_device_t *, vhc_virtdev_t *); 84 int virthub_disconnect_device(usbvirt_device_t *, vhc_virtdev_t *);84 errno_t virthub_disconnect_device(usbvirt_device_t *, vhc_virtdev_t *); 85 85 bool virthub_is_device_enabled(usbvirt_device_t *, vhc_virtdev_t *); 86 86 void virthub_get_status(usbvirt_device_t *, char *, size_t); -
uspace/drv/bus/usb/vhc/hub/virthubops.c
r132ab5d1 r5a6cc679 63 63 64 64 /** Callback for data request. */ 65 static int req_on_status_change_pipe(usbvirt_device_t *dev,65 static errno_t req_on_status_change_pipe(usbvirt_device_t *dev, 66 66 usb_endpoint_t endpoint, usb_transfer_type_t tr_type, 67 67 void *buffer, size_t buffer_size, size_t *actual_size) … … 109 109 * @return Error code. 110 110 */ 111 static int req_clear_hub_feature(usbvirt_device_t *dev,111 static errno_t req_clear_hub_feature(usbvirt_device_t *dev, 112 112 const usb_device_request_setup_packet_t *request, uint8_t *data, 113 113 size_t *act_size) … … 123 123 * @return Error code. 124 124 */ 125 static int req_clear_port_feature(usbvirt_device_t *dev,126 const usb_device_request_setup_packet_t *request, uint8_t *data, 127 size_t *act_size) 128 { 129 int rc;125 static errno_t req_clear_port_feature(usbvirt_device_t *dev, 126 const usb_device_request_setup_packet_t *request, uint8_t *data, 127 size_t *act_size) 128 { 129 errno_t rc; 130 130 size_t port = request->index - 1; 131 131 usb_hub_class_feature_t feature = request->value; … … 203 203 * @return Error code. 204 204 */ 205 static int req_get_bus_state(usbvirt_device_t *dev,205 static errno_t req_get_bus_state(usbvirt_device_t *dev, 206 206 const usb_device_request_setup_packet_t *request, uint8_t *data, 207 207 size_t *act_size) … … 217 217 * @return Error code. 218 218 */ 219 static int req_get_descriptor(usbvirt_device_t *dev,219 static errno_t req_get_descriptor(usbvirt_device_t *dev, 220 220 const usb_device_request_setup_packet_t *request, uint8_t *data, 221 221 size_t *act_size) … … 238 238 * @return Error code. 239 239 */ 240 static int req_get_hub_status(usbvirt_device_t *dev,240 static errno_t req_get_hub_status(usbvirt_device_t *dev, 241 241 const usb_device_request_setup_packet_t *request, uint8_t *data, 242 242 size_t *act_size) … … 257 257 * @return Error code. 258 258 */ 259 static int req_get_port_status(usbvirt_device_t *dev,259 static errno_t req_get_port_status(usbvirt_device_t *dev, 260 260 const usb_device_request_setup_packet_t *request, uint8_t *data, 261 261 size_t *act_size) … … 282 282 * @return Error code. 283 283 */ 284 static int req_set_hub_feature(usbvirt_device_t *dev,284 static errno_t req_set_hub_feature(usbvirt_device_t *dev, 285 285 const usb_device_request_setup_packet_t *request, uint8_t *data, 286 286 size_t *act_size) … … 296 296 * @return Error code. 297 297 */ 298 static int req_set_port_feature(usbvirt_device_t *dev,299 const usb_device_request_setup_packet_t *request, uint8_t *data, 300 size_t *act_size) 301 { 302 int rc = ENOTSUP;298 static errno_t req_set_port_feature(usbvirt_device_t *dev, 299 const usb_device_request_setup_packet_t *request, uint8_t *data, 300 size_t *act_size) 301 { 302 errno_t rc = ENOTSUP; 303 303 size_t port = request->index - 1; 304 304 usb_hub_class_feature_t feature = request->value; -
uspace/drv/bus/usb/vhc/main.c
r132ab5d1 r5a6cc679 50 50 }; 51 51 52 static int vhc_control_node(ddf_dev_t *dev, ddf_fun_t **fun)52 static errno_t vhc_control_node(ddf_dev_t *dev, ddf_fun_t **fun) 53 53 { 54 54 assert(dev); … … 64 64 } 65 65 ddf_fun_set_ops(*fun, &vhc_ops); 66 const int ret = ddf_fun_bind(*fun);66 const errno_t ret = ddf_fun_bind(*fun); 67 67 if (ret != EOK) { 68 68 ddf_fun_destroy(*fun); … … 73 73 } 74 74 75 static int vhc_dev_add(ddf_dev_t *dev)75 static errno_t vhc_dev_add(ddf_dev_t *dev) 76 76 { 77 77 /* Initialize generic structures */ 78 int ret = hcd_ddf_setup_hc(dev, sizeof(vhc_data_t));78 errno_t ret = hcd_ddf_setup_hc(dev, sizeof(vhc_data_t)); 79 79 if (ret != EOK) { 80 80 usb_log_error("Failed to init HCD structures: %s.", -
uspace/drv/bus/usb/vhc/transfer.c
r132ab5d1 r5a6cc679 61 61 } 62 62 63 static int process_transfer_local(usb_transfer_batch_t *batch,63 static errno_t process_transfer_local(usb_transfer_batch_t *batch, 64 64 usbvirt_device_t *dev, size_t *actual_data_size) 65 65 { 66 int rc;66 errno_t rc; 67 67 68 68 const usb_direction_t dir = batch->dir; … … 97 97 } 98 98 99 static int process_transfer_remote(usb_transfer_batch_t *batch,99 static errno_t process_transfer_remote(usb_transfer_batch_t *batch, 100 100 async_sess_t *sess, size_t *actual_data_size) 101 101 { 102 int rc;102 errno_t rc; 103 103 104 104 const usb_direction_t dir = batch->dir; … … 146 146 147 147 static void execute_transfer_callback_and_free(vhc_transfer_t *transfer, 148 size_t data_transfer_size, int outcome)148 size_t data_transfer_size, errno_t outcome) 149 149 { 150 150 assert(outcome != ENAK); … … 192 192 }; 193 193 194 int vhc_init(vhc_data_t *instance)194 errno_t vhc_init(vhc_data_t *instance) 195 195 { 196 196 assert(instance); … … 203 203 } 204 204 205 int vhc_schedule(usb_transfer_batch_t *batch)205 errno_t vhc_schedule(usb_transfer_batch_t *batch) 206 206 { 207 207 assert(batch); … … 233 233 } 234 234 235 int vhc_transfer_queue_processor(void *arg)235 errno_t vhc_transfer_queue_processor(void *arg) 236 236 { 237 237 vhc_virtdev_t *dev = arg; … … 248 248 fibril_mutex_unlock(&dev->guard); 249 249 250 int rc = EOK;250 errno_t rc = EOK; 251 251 size_t data_transfer_size = 0; 252 252 if (dev->dev_sess) { -
uspace/drv/bus/usb/vhc/vhcd.h
r132ab5d1 r5a6cc679 90 90 ipc_call_t *icall); 91 91 92 int vhc_virtdev_plug(vhc_data_t *, async_sess_t *, uintptr_t *);93 int vhc_virtdev_plug_local(vhc_data_t *, usbvirt_device_t *, uintptr_t *);94 int vhc_virtdev_plug_hub(vhc_data_t *, usbvirt_device_t *, uintptr_t *, usb_address_t address);92 errno_t vhc_virtdev_plug(vhc_data_t *, async_sess_t *, uintptr_t *); 93 errno_t vhc_virtdev_plug_local(vhc_data_t *, usbvirt_device_t *, uintptr_t *); 94 errno_t vhc_virtdev_plug_hub(vhc_data_t *, usbvirt_device_t *, uintptr_t *, usb_address_t address); 95 95 void vhc_virtdev_unplug(vhc_data_t *, uintptr_t); 96 96 97 int vhc_init(vhc_data_t *);98 int vhc_schedule(usb_transfer_batch_t *);99 int vhc_transfer_queue_processor(void *arg);97 errno_t vhc_init(vhc_data_t *); 98 errno_t vhc_schedule(usb_transfer_batch_t *); 99 errno_t vhc_transfer_queue_processor(void *arg); 100 100 101 101 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
