Changeset 5a6cc679 in mainline for uspace/lib/usbdev
- Timestamp:
- 2018-01-31T02:21:24Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a0a9cc2
- Parents:
- 132ab5d1
- Location:
- uspace/lib/usbdev
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbdev/include/usb/dev/alternate_ifaces.h
r132ab5d1 r5a6cc679 38 38 #define LIBUSBDEV_ALTERNATE_IFACES_H_ 39 39 40 #include <errno.h> 40 41 #include <usb/descriptor.h> 41 42 #include <stddef.h> … … 66 67 67 68 size_t usb_interface_count_alternates(const uint8_t *, size_t, uint8_t); 68 int usb_alternate_interfaces_init(usb_alternate_interfaces_t *,69 errno_t usb_alternate_interfaces_init(usb_alternate_interfaces_t *, 69 70 const uint8_t *, size_t, int); 70 71 void usb_alternate_interfaces_deinit(usb_alternate_interfaces_t *); -
uspace/lib/usbdev/include/usb/dev/device.h
r132ab5d1 r5a6cc679 59 59 60 60 /* DDF parts */ 61 int usb_device_create_ddf(ddf_dev_t *, const usb_endpoint_description_t **, const char **);61 errno_t usb_device_create_ddf(ddf_dev_t *, const usb_endpoint_description_t **, const char **); 62 62 void usb_device_destroy_ddf(ddf_dev_t *); 63 63 … … 77 77 void usb_device_bus_exchange_end(async_exch_t *); 78 78 79 int usb_device_select_interface(usb_device_t *, uint8_t,79 errno_t usb_device_select_interface(usb_device_t *, uint8_t, 80 80 const usb_endpoint_description_t **); 81 81 82 int usb_device_create_pipes(usb_device_t *usb_dev,82 errno_t usb_device_create_pipes(usb_device_t *usb_dev, 83 83 const usb_endpoint_description_t **endpoints); 84 84 void usb_device_destroy_pipes(usb_device_t *); -
uspace/lib/usbdev/include/usb/dev/driver.h
r132ab5d1 r5a6cc679 43 43 typedef struct { 44 44 /** Callback when a new device was added to the system. */ 45 int (*device_add)(usb_device_t *);45 errno_t (*device_add)(usb_device_t *); 46 46 /** Callback when a device is about to be removed from the system. */ 47 int (*device_remove)(usb_device_t *);47 errno_t (*device_remove)(usb_device_t *); 48 48 /** Callback when a device was removed from the system. */ 49 int (*device_gone)(usb_device_t *);49 errno_t (*device_gone)(usb_device_t *); 50 50 /** Callback asking the driver to online a specific function. */ 51 int (*function_online)(ddf_fun_t *);51 errno_t (*function_online)(ddf_fun_t *); 52 52 /** Callback asking the driver to offline a specific function. */ 53 int (*function_offline)(ddf_fun_t *);53 errno_t (*function_offline)(ddf_fun_t *); 54 54 } usb_driver_ops_t; 55 55 -
uspace/lib/usbdev/include/usb/dev/pipes.h
r132ab5d1 r5a6cc679 98 98 } usb_endpoint_mapping_t; 99 99 100 int usb_pipe_initialize(usb_pipe_t *, usb_dev_session_t *);101 int usb_pipe_initialize_default_control(usb_pipe_t *, usb_dev_session_t *);100 errno_t usb_pipe_initialize(usb_pipe_t *, usb_dev_session_t *); 101 errno_t usb_pipe_initialize_default_control(usb_pipe_t *, usb_dev_session_t *); 102 102 103 int usb_pipe_initialize_from_configuration(usb_endpoint_mapping_t *,103 errno_t usb_pipe_initialize_from_configuration(usb_endpoint_mapping_t *, 104 104 size_t, const uint8_t *, size_t, usb_dev_session_t *); 105 105 106 int usb_pipe_register(usb_pipe_t *, const usb_standard_endpoint_descriptor_t *, const usb_superspeed_endpoint_companion_descriptor_t *);107 int usb_pipe_unregister(usb_pipe_t *);106 errno_t usb_pipe_register(usb_pipe_t *, const usb_standard_endpoint_descriptor_t *, const usb_superspeed_endpoint_companion_descriptor_t *); 107 errno_t usb_pipe_unregister(usb_pipe_t *); 108 108 109 int usb_pipe_read(usb_pipe_t *, void *, size_t, size_t *);110 int usb_pipe_write(usb_pipe_t *, const void *, size_t);109 errno_t usb_pipe_read(usb_pipe_t *, void *, size_t, size_t *); 110 errno_t usb_pipe_write(usb_pipe_t *, const void *, size_t); 111 111 112 int usb_pipe_control_read(usb_pipe_t *, const void *, size_t,112 errno_t usb_pipe_control_read(usb_pipe_t *, const void *, size_t, 113 113 void *, size_t, size_t *); 114 int usb_pipe_control_write(usb_pipe_t *, const void *, size_t,114 errno_t usb_pipe_control_write(usb_pipe_t *, const void *, size_t, 115 115 const void *, size_t); 116 116 -
uspace/lib/usbdev/include/usb/dev/poll.h
r132ab5d1 r5a6cc679 118 118 * @return Whether to continue in polling. 119 119 */ 120 bool (*on_error)(usb_device_t *dev, int err_code, void *arg);120 bool (*on_error)(usb_device_t *dev, errno_t err_code, void *arg); 121 121 122 122 … … 139 139 } usb_polling_t; 140 140 141 int usb_polling_init(usb_polling_t *);141 errno_t usb_polling_init(usb_polling_t *); 142 142 void usb_polling_fini(usb_polling_t *); 143 143 144 int usb_polling_start(usb_polling_t *);145 int usb_polling_join(usb_polling_t *);144 errno_t usb_polling_start(usb_polling_t *); 145 errno_t usb_polling_join(usb_polling_t *); 146 146 147 147 #endif -
uspace/lib/usbdev/include/usb/dev/recognise.h
r132ab5d1 r5a6cc679 42 42 #include <devman.h> 43 43 44 extern int usb_device_create_match_ids_from_device_descriptor(44 extern errno_t usb_device_create_match_ids_from_device_descriptor( 45 45 const usb_standard_device_descriptor_t *, match_id_list_t *); 46 46 47 extern int usb_device_create_match_ids_from_interface(47 extern errno_t usb_device_create_match_ids_from_interface( 48 48 const usb_standard_device_descriptor_t *, 49 49 const usb_standard_interface_descriptor_t *, match_id_list_t *); 50 50 51 extern int usb_device_create_match_ids(usb_pipe_t *, match_id_list_t *);51 extern errno_t usb_device_create_match_ids(usb_pipe_t *, match_id_list_t *); 52 52 53 53 #endif -
uspace/lib/usbdev/include/usb/dev/request.h
r132ab5d1 r5a6cc679 44 44 #include <usb/request.h> 45 45 46 int usb_control_request_set(usb_pipe_t *,46 errno_t usb_control_request_set(usb_pipe_t *, 47 47 usb_request_type_t, usb_request_recipient_t, uint8_t, 48 48 uint16_t, uint16_t, const void *, size_t); 49 49 50 int usb_control_request_get(usb_pipe_t *,50 errno_t usb_control_request_get(usb_pipe_t *, 51 51 usb_request_type_t, usb_request_recipient_t, uint8_t, 52 52 uint16_t, uint16_t, void *, size_t, size_t *); 53 53 54 int usb_request_get_status(usb_pipe_t *, usb_request_recipient_t,54 errno_t usb_request_get_status(usb_pipe_t *, usb_request_recipient_t, 55 55 uint16_t, uint16_t *); 56 int usb_request_clear_feature(usb_pipe_t *, usb_request_type_t,56 errno_t usb_request_clear_feature(usb_pipe_t *, usb_request_type_t, 57 57 usb_request_recipient_t, uint16_t, uint16_t); 58 int usb_request_set_feature(usb_pipe_t *, usb_request_type_t,58 errno_t usb_request_set_feature(usb_pipe_t *, usb_request_type_t, 59 59 usb_request_recipient_t, uint16_t, uint16_t); 60 int usb_request_get_descriptor(usb_pipe_t *, usb_request_type_t,60 errno_t usb_request_get_descriptor(usb_pipe_t *, usb_request_type_t, 61 61 usb_request_recipient_t, uint8_t, uint8_t, uint16_t, void *, size_t, 62 62 size_t *); 63 int usb_request_get_descriptor_alloc(usb_pipe_t *, usb_request_type_t,63 errno_t usb_request_get_descriptor_alloc(usb_pipe_t *, usb_request_type_t, 64 64 usb_request_recipient_t, uint8_t, uint8_t, uint16_t, void **, size_t *); 65 int usb_request_get_device_descriptor(usb_pipe_t *,65 errno_t usb_request_get_device_descriptor(usb_pipe_t *, 66 66 usb_standard_device_descriptor_t *); 67 int usb_request_get_bare_configuration_descriptor(usb_pipe_t *, int,67 errno_t usb_request_get_bare_configuration_descriptor(usb_pipe_t *, int, 68 68 usb_standard_configuration_descriptor_t *); 69 int usb_request_get_full_configuration_descriptor(usb_pipe_t *, int,69 errno_t usb_request_get_full_configuration_descriptor(usb_pipe_t *, int, 70 70 void *, size_t, size_t *); 71 int usb_request_get_full_configuration_descriptor_alloc(usb_pipe_t *,71 errno_t usb_request_get_full_configuration_descriptor_alloc(usb_pipe_t *, 72 72 int, const void **, size_t *); 73 int usb_request_set_descriptor(usb_pipe_t *, usb_request_type_t,73 errno_t usb_request_set_descriptor(usb_pipe_t *, usb_request_type_t, 74 74 usb_request_recipient_t, uint8_t, uint8_t, uint16_t, const void *, size_t); 75 75 76 int usb_request_get_configuration(usb_pipe_t *, uint8_t *);77 int usb_request_set_configuration(usb_pipe_t *, uint8_t);76 errno_t usb_request_get_configuration(usb_pipe_t *, uint8_t *); 77 errno_t usb_request_set_configuration(usb_pipe_t *, uint8_t); 78 78 79 int usb_request_get_interface(usb_pipe_t *, uint8_t, uint8_t *);80 int usb_request_set_interface(usb_pipe_t *, uint8_t, uint8_t);79 errno_t usb_request_get_interface(usb_pipe_t *, uint8_t, uint8_t *); 80 errno_t usb_request_set_interface(usb_pipe_t *, uint8_t, uint8_t); 81 81 82 int usb_request_get_supported_languages(usb_pipe_t *,82 errno_t usb_request_get_supported_languages(usb_pipe_t *, 83 83 l18_win_locales_t **, size_t *); 84 int usb_request_get_string(usb_pipe_t *, size_t, l18_win_locales_t,84 errno_t usb_request_get_string(usb_pipe_t *, size_t, l18_win_locales_t, 85 85 char **); 86 86 87 int usb_pipe_clear_halt(usb_pipe_t *, usb_pipe_t *);88 int usb_request_get_endpoint_status(usb_pipe_t *, usb_pipe_t *, uint16_t *);87 errno_t usb_pipe_clear_halt(usb_pipe_t *, usb_pipe_t *); 88 errno_t usb_request_get_endpoint_status(usb_pipe_t *, usb_pipe_t *, uint16_t *); 89 89 90 90 #endif -
uspace/lib/usbdev/src/altiface.c
r132ab5d1 r5a6cc679 88 88 * @return Error code. 89 89 */ 90 int usb_alternate_interfaces_init(usb_alternate_interfaces_t *alternates,90 errno_t usb_alternate_interfaces_init(usb_alternate_interfaces_t *alternates, 91 91 const uint8_t *config_descr, size_t config_descr_size, int interface_number) 92 92 { -
uspace/lib/usbdev/src/devdrv.c
r132ab5d1 r5a6cc679 141 141 * @return Error code. 142 142 */ 143 int usb_device_select_interface(usb_device_t *usb_dev,143 errno_t usb_device_select_interface(usb_device_t *usb_dev, 144 144 uint8_t alternate_setting, const usb_endpoint_description_t **endpoints) 145 145 { … … 151 151 152 152 /* Change the interface itself. */ 153 int rc = usb_request_set_interface(&usb_dev->ctrl_pipe,153 errno_t rc = usb_request_set_interface(&usb_dev->ctrl_pipe, 154 154 usb_dev->interface_no, alternate_setting); 155 155 if (rc != EOK) { … … 175 175 * @return Error code. 176 176 */ 177 static int usb_device_retrieve_descriptors(usb_device_t *usb_dev)177 static errno_t usb_device_retrieve_descriptors(usb_device_t *usb_dev) 178 178 { 179 179 assert(usb_dev); … … 181 181 182 182 /* Get the device descriptor. */ 183 int rc = usb_request_get_device_descriptor(&usb_dev->ctrl_pipe,183 errno_t rc = usb_request_get_device_descriptor(&usb_dev->ctrl_pipe, 184 184 &usb_dev->descriptors.device); 185 185 if (rc != EOK) { … … 227 227 * @return Error code. 228 228 */ 229 int usb_device_create_pipes(usb_device_t *usb_dev,229 errno_t usb_device_create_pipes(usb_device_t *usb_dev, 230 230 const usb_endpoint_description_t **endpoints) 231 231 { … … 255 255 256 256 /* Find the mapping from configuration descriptor. */ 257 int rc = usb_pipe_initialize_from_configuration(pipes, pipe_count,257 errno_t rc = usb_pipe_initialize_from_configuration(pipes, pipe_count, 258 258 usb_dev->descriptors.full_config, 259 259 usb_dev->descriptors.full_config_size, … … 429 429 * @return Error code. 430 430 */ 431 static int usb_device_init(usb_device_t *usb_dev, ddf_dev_t *ddf_dev,431 static errno_t usb_device_init(usb_device_t *usb_dev, ddf_dev_t *ddf_dev, 432 432 const usb_endpoint_description_t **endpoints, const char **errstr_ptr) 433 433 { … … 453 453 /* This pipe was registered by the hub driver, 454 454 * during device initialization. */ 455 int rc = usb_pipe_initialize_default_control(&usb_dev->ctrl_pipe, usb_dev->bus_session);455 errno_t rc = usb_pipe_initialize_default_control(&usb_dev->ctrl_pipe, usb_dev->bus_session); 456 456 if (rc != EOK) { 457 457 usb_dev_disconnect(usb_dev->bus_session); … … 489 489 } 490 490 491 static int usb_device_get_info(async_sess_t *sess, usb_device_t *dev)491 static errno_t usb_device_get_info(async_sess_t *sess, usb_device_t *dev) 492 492 { 493 493 assert(dev); … … 498 498 499 499 usb_device_desc_t dev_desc; 500 const int ret = usb_get_my_description(exch, &dev_desc);500 const errno_t ret = usb_get_my_description(exch, &dev_desc); 501 501 502 502 if (ret == EOK) { … … 512 512 } 513 513 514 int usb_device_create_ddf(ddf_dev_t *ddf_dev,514 errno_t usb_device_create_ddf(ddf_dev_t *ddf_dev, 515 515 const usb_endpoint_description_t **desc, const char **err) 516 516 { … … 529 529 } 530 530 531 const int ret = usb_device_get_info(sess, usb_dev);531 const errno_t ret = usb_device_get_info(sess, usb_dev); 532 532 if (ret != EOK) 533 533 return ret; … … 552 552 553 553 async_sess_t *sess = devman_device_connect(handle, IPC_FLAG_BLOCKING); 554 int ret = usb_device_get_info(sess, usb_dev);554 errno_t ret = usb_device_get_info(sess, usb_dev); 555 555 if (sess) 556 556 async_hangup(sess); -
uspace/lib/usbdev/src/devpoll.c
r132ab5d1 r5a6cc679 103 103 * @return Always EOK. 104 104 */ 105 static int polling_fibril(void *arg)105 static errno_t polling_fibril(void *arg) 106 106 { 107 107 assert(arg); … … 130 130 while (failed_attempts <= polling->max_failures) { 131 131 size_t actual_size; 132 const int rc = usb_pipe_read(pipe, polling->buffer,132 const errno_t rc = usb_pipe_read(pipe, polling->buffer, 133 133 polling->request_size, &actual_size); 134 134 … … 233 233 * @retval EOK New fibril polling the device was already started. 234 234 */ 235 int usb_polling_start(usb_polling_t *polling)235 errno_t usb_polling_start(usb_polling_t *polling) 236 236 { 237 237 if (!polling || !polling->device || !polling->ep_mapping || !polling->on_data) … … 272 272 * @retval EOK Polling fibril has been successfully terminated. 273 273 */ 274 int usb_polling_join(usb_polling_t *polling)275 { 276 int rc;274 errno_t usb_polling_join(usb_polling_t *polling) 275 { 276 errno_t rc; 277 277 if (!polling) 278 278 return EBADMEM; -
uspace/lib/usbdev/src/driver.c
r132ab5d1 r5a6cc679 52 52 * @return Error code. 53 53 */ 54 static int generic_device_add(ddf_dev_t *gen_dev)54 static errno_t generic_device_add(ddf_dev_t *gen_dev) 55 55 { 56 56 assert(driver); … … 60 60 /* Initialize generic USB driver data. */ 61 61 const char *err_msg = NULL; 62 int rc = usb_device_create_ddf(gen_dev, driver->endpoints, &err_msg);62 errno_t rc = usb_device_create_ddf(gen_dev, driver->endpoints, &err_msg); 63 63 if (rc != EOK) { 64 64 usb_log_error("USB device `%s' init failed (%s): %s.", … … 81 81 * @return Error code. 82 82 */ 83 static int generic_device_remove(ddf_dev_t *gen_dev)83 static errno_t generic_device_remove(ddf_dev_t *gen_dev) 84 84 { 85 85 assert(driver); … … 90 90 /* Just tell the driver to stop whatever it is doing */ 91 91 usb_device_t *usb_dev = ddf_dev_data_get(gen_dev); 92 int ret = driver->ops->device_remove(usb_dev);92 const errno_t ret = driver->ops->device_remove(usb_dev); 93 93 if (ret != EOK) 94 94 return ret; … … 105 105 * @return Error code. 106 106 */ 107 static int generic_device_gone(ddf_dev_t *gen_dev)107 static errno_t generic_device_gone(ddf_dev_t *gen_dev) 108 108 { 109 109 assert(driver); … … 112 112 return ENOTSUP; 113 113 usb_device_t *usb_dev = ddf_dev_data_get(gen_dev); 114 const int ret = driver->ops->device_gone(usb_dev);114 const errno_t ret = driver->ops->device_gone(usb_dev); 115 115 if (ret == EOK) 116 116 usb_device_destroy_ddf(gen_dev); -
uspace/lib/usbdev/src/pipes.c
r132ab5d1 r5a6cc679 73 73 * @return Error code. 74 74 */ 75 int usb_pipe_control_read(usb_pipe_t *pipe,75 errno_t usb_pipe_control_read(usb_pipe_t *pipe, 76 76 const void *setup_buffer, size_t setup_buffer_size, 77 77 void *buffer, size_t buffer_size, size_t *transferred_size) … … 97 97 async_exch_t *exch = async_exchange_begin(pipe->bus_session); 98 98 size_t act_size = 0; 99 const int rc = usbhc_read(exch, pipe->desc.endpoint_no, setup_packet, buffer,99 const errno_t rc = usbhc_read(exch, pipe->desc.endpoint_no, setup_packet, buffer, 100 100 buffer_size, &act_size); 101 101 async_exchange_end(exch); … … 123 123 * @return Error code. 124 124 */ 125 int usb_pipe_control_write(usb_pipe_t *pipe,125 errno_t usb_pipe_control_write(usb_pipe_t *pipe, 126 126 const void *setup_buffer, size_t setup_buffer_size, 127 127 const void *buffer, size_t buffer_size) … … 150 150 151 151 async_exch_t *exch = async_exchange_begin(pipe->bus_session); 152 const int rc = usbhc_write(exch,152 const errno_t rc = usbhc_write(exch, 153 153 pipe->desc.endpoint_no, setup_packet, buffer, buffer_size); 154 154 async_exchange_end(exch); … … 169 169 * @return Error code. 170 170 */ 171 int usb_pipe_read(usb_pipe_t *pipe,171 errno_t usb_pipe_read(usb_pipe_t *pipe, 172 172 void *buffer, size_t size, size_t *size_transferred) 173 173 { … … 192 192 async_exch_t *exch = async_exchange_begin(pipe->bus_session); 193 193 size_t act_size = 0; 194 const int rc =194 const errno_t rc = 195 195 usbhc_read(exch, pipe->desc.endpoint_no, 0, buffer, size, &act_size); 196 196 async_exchange_end(exch); … … 210 210 * @return Error code. 211 211 */ 212 int usb_pipe_write(usb_pipe_t *pipe, const void *buffer, size_t size)212 errno_t usb_pipe_write(usb_pipe_t *pipe, const void *buffer, size_t size) 213 213 { 214 214 assert(pipe); … … 227 227 228 228 async_exch_t *exch = async_exchange_begin(pipe->bus_session); 229 const int rc = usbhc_write(exch, pipe->desc.endpoint_no, 0, buffer, size);229 const errno_t rc = usbhc_write(exch, pipe->desc.endpoint_no, 0, buffer, size); 230 230 async_exchange_end(exch); 231 231 return rc; … … 238 238 * @return Error code. 239 239 */ 240 int usb_pipe_initialize(usb_pipe_t *pipe, usb_dev_session_t *bus_session)240 errno_t usb_pipe_initialize(usb_pipe_t *pipe, usb_dev_session_t *bus_session) 241 241 { 242 242 assert(pipe); … … 263 263 * @return Error code. 264 264 */ 265 int usb_pipe_initialize_default_control(usb_pipe_t *pipe, usb_dev_session_t *bus_session)266 { 267 const int ret = usb_pipe_initialize(pipe, bus_session);265 errno_t usb_pipe_initialize_default_control(usb_pipe_t *pipe, usb_dev_session_t *bus_session) 266 { 267 const errno_t ret = usb_pipe_initialize(pipe, bus_session); 268 268 if (ret) 269 269 return ret; … … 282 282 * @return Error code. 283 283 */ 284 int usb_pipe_register(usb_pipe_t *pipe, const usb_standard_endpoint_descriptor_t *ep_desc, const usb_superspeed_endpoint_companion_descriptor_t *comp_desc)284 errno_t usb_pipe_register(usb_pipe_t *pipe, const usb_standard_endpoint_descriptor_t *ep_desc, const usb_superspeed_endpoint_companion_descriptor_t *comp_desc) 285 285 { 286 286 assert(pipe); … … 309 309 #undef COPY 310 310 311 const int ret = usbhc_register_endpoint(exch, &pipe->desc, &descriptors);311 const errno_t ret = usbhc_register_endpoint(exch, &pipe->desc, &descriptors); 312 312 async_exchange_end(exch); 313 313 return ret; … … 319 319 * @return Error code. 320 320 */ 321 int usb_pipe_unregister(usb_pipe_t *pipe)321 errno_t usb_pipe_unregister(usb_pipe_t *pipe) 322 322 { 323 323 assert(pipe); … … 327 327 return ENOMEM; 328 328 329 const int ret = usbhc_unregister_endpoint(exch, &pipe->desc);329 const errno_t ret = usbhc_unregister_endpoint(exch, &pipe->desc); 330 330 331 331 async_exchange_end(exch); -
uspace/lib/usbdev/src/pipesinit.c
r132ab5d1 r5a6cc679 165 165 * @return Error code. 166 166 */ 167 static int process_endpoint(167 static errno_t process_endpoint( 168 168 usb_endpoint_mapping_t *mapping, size_t mapping_count, 169 169 usb_standard_interface_descriptor_t *interface, … … 200 200 } 201 201 202 int err = usb_pipe_initialize(&ep_mapping->pipe, bus_session);202 errno_t err = usb_pipe_initialize(&ep_mapping->pipe, bus_session); 203 203 if (err) 204 204 return err; … … 221 221 * @return Error code. 222 222 */ 223 static int process_interface(223 static errno_t process_interface( 224 224 usb_endpoint_mapping_t *mapping, size_t mapping_count, 225 225 const usb_dp_parser_t *parser, const usb_dp_parser_data_t *parser_data, … … 291 291 * @return Error code. 292 292 */ 293 int usb_pipe_initialize_from_configuration(293 errno_t usb_pipe_initialize_from_configuration( 294 294 usb_endpoint_mapping_t *mapping, size_t mapping_count, 295 295 const uint8_t *config_descriptor, size_t config_descriptor_size, -
uspace/lib/usbdev/src/recognise.c
r132ab5d1 r5a6cc679 60 60 * @return Error code. 61 61 */ 62 static int usb_add_match_id(match_id_list_t *matches, int score,62 static errno_t usb_add_match_id(match_id_list_t *matches, int score, 63 63 const char *match_str) 64 64 { … … 89 89 int __rc = asprintf(&str, format, ##__VA_ARGS__); \ 90 90 if (__rc >= 0) { \ 91 int __rc = usb_add_match_id((match_ids), (score), str); \91 errno_t __rc = usb_add_match_id((match_ids), (score), str); \ 92 92 if (__rc != EOK) { \ 93 93 free(str); \ … … 108 108 * @retval ENOENT Device class is not "use interface". 109 109 */ 110 int usb_device_create_match_ids_from_interface(110 errno_t usb_device_create_match_ids_from_interface( 111 111 const usb_standard_device_descriptor_t *desc_device, 112 112 const usb_standard_interface_descriptor_t *desc_interface, … … 220 220 * @return Error code. 221 221 */ 222 int usb_device_create_match_ids_from_device_descriptor(222 errno_t usb_device_create_match_ids_from_device_descriptor( 223 223 const usb_standard_device_descriptor_t *device_descriptor, 224 224 match_id_list_t *matches) … … 264 264 * @return Error code. 265 265 */ 266 int usb_device_create_match_ids(usb_pipe_t *ctrl_pipe,266 errno_t usb_device_create_match_ids(usb_pipe_t *ctrl_pipe, 267 267 match_id_list_t *matches) 268 268 { 269 269 assert(ctrl_pipe); 270 int rc;270 errno_t rc; 271 271 /* 272 272 * Retrieve device descriptor and add matches from it. -
uspace/lib/usbdev/src/request.c
r132ab5d1 r5a6cc679 68 68 * 69 69 */ 70 int usb_control_request_set(usb_pipe_t *pipe,70 errno_t usb_control_request_set(usb_pipe_t *pipe, 71 71 usb_request_type_t request_type, usb_request_recipient_t recipient, 72 72 uint8_t request, uint16_t value, uint16_t index, … … 127 127 * 128 128 */ 129 int usb_control_request_get(usb_pipe_t *pipe,129 errno_t usb_control_request_get(usb_pipe_t *pipe, 130 130 usb_request_type_t request_type, usb_request_recipient_t recipient, 131 131 uint8_t request, uint16_t value, uint16_t index, … … 170 170 * @return Error code. 171 171 */ 172 int usb_request_get_status(usb_pipe_t *pipe,172 errno_t usb_request_get_status(usb_pipe_t *pipe, 173 173 usb_request_recipient_t recipient, uint16_t index, 174 174 uint16_t *status) … … 184 184 uint16_t status_usb_endianess; 185 185 size_t data_transferred_size; 186 int rc = usb_control_request_get(pipe, USB_REQUEST_TYPE_STANDARD,186 errno_t rc = usb_control_request_get(pipe, USB_REQUEST_TYPE_STANDARD, 187 187 recipient, USB_DEVREQ_GET_STATUS, 0, uint16_host2usb(index), 188 188 &status_usb_endianess, 2, &data_transferred_size); … … 208 208 * @return Error code. 209 209 */ 210 int usb_request_clear_feature(usb_pipe_t *pipe,210 errno_t usb_request_clear_feature(usb_pipe_t *pipe, 211 211 usb_request_type_t request_type, usb_request_recipient_t recipient, 212 212 uint16_t feature_selector, uint16_t index) … … 232 232 * @return Error code. 233 233 */ 234 int usb_request_set_feature(usb_pipe_t *pipe,234 errno_t usb_request_set_feature(usb_pipe_t *pipe, 235 235 usb_request_type_t request_type, usb_request_recipient_t recipient, 236 236 uint16_t feature_selector, uint16_t index) … … 260 260 * @return Error code. 261 261 */ 262 int usb_request_get_descriptor(usb_pipe_t *pipe,262 errno_t usb_request_get_descriptor(usb_pipe_t *pipe, 263 263 usb_request_type_t request_type, usb_request_recipient_t recipient, 264 264 uint8_t descriptor_type, uint8_t descriptor_index, … … 298 298 * @return 299 299 */ 300 int usb_request_get_descriptor_alloc(usb_pipe_t * pipe,300 errno_t usb_request_get_descriptor_alloc(usb_pipe_t * pipe, 301 301 usb_request_type_t request_type, usb_request_recipient_t recipient, 302 302 uint8_t descriptor_type, uint8_t descriptor_index, … … 308 308 } 309 309 310 int rc;310 errno_t rc; 311 311 312 312 /* … … 364 364 * @return Error code. 365 365 */ 366 int usb_request_get_device_descriptor(usb_pipe_t *pipe,366 errno_t usb_request_get_device_descriptor(usb_pipe_t *pipe, 367 367 usb_standard_device_descriptor_t *descriptor) 368 368 { … … 373 373 size_t actually_transferred = 0; 374 374 usb_standard_device_descriptor_t descriptor_tmp; 375 int rc = usb_request_get_descriptor(pipe,375 errno_t rc = usb_request_get_descriptor(pipe, 376 376 USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_DEVICE, 377 377 USB_DESCTYPE_DEVICE, 0, 0, &descriptor_tmp, sizeof(descriptor_tmp), … … 404 404 * @return Error code. 405 405 */ 406 int usb_request_get_bare_configuration_descriptor(usb_pipe_t *pipe,406 errno_t usb_request_get_bare_configuration_descriptor(usb_pipe_t *pipe, 407 407 int index, usb_standard_configuration_descriptor_t *descriptor) 408 408 { … … 417 417 size_t actually_transferred = 0; 418 418 usb_standard_configuration_descriptor_t descriptor_tmp; 419 const int rc = usb_request_get_descriptor(pipe,419 const errno_t rc = usb_request_get_descriptor(pipe, 420 420 USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_DEVICE, 421 421 USB_DESCTYPE_CONFIGURATION, index, 0, … … 448 448 * @return Error code. 449 449 */ 450 int usb_request_get_full_configuration_descriptor(usb_pipe_t *pipe,450 errno_t usb_request_get_full_configuration_descriptor(usb_pipe_t *pipe, 451 451 int index, void *descriptor, size_t descriptor_size, size_t *actual_size) 452 452 { … … 473 473 * @return Error code. 474 474 */ 475 int usb_request_get_full_configuration_descriptor_alloc(475 errno_t usb_request_get_full_configuration_descriptor_alloc( 476 476 usb_pipe_t *pipe, int index, 477 477 const void **descriptor_ptr, size_t *descriptor_size) 478 478 { 479 int rc;479 errno_t rc; 480 480 481 481 if (descriptor_ptr == NULL) { … … 539 539 * @return Error code. 540 540 */ 541 int usb_request_set_descriptor(usb_pipe_t *pipe,541 errno_t usb_request_set_descriptor(usb_pipe_t *pipe, 542 542 usb_request_type_t request_type, usb_request_recipient_t recipient, 543 543 uint8_t descriptor_type, uint8_t descriptor_index, … … 565 565 * @return Error code. 566 566 */ 567 int usb_request_get_configuration(usb_pipe_t *pipe,567 errno_t usb_request_get_configuration(usb_pipe_t *pipe, 568 568 uint8_t *configuration_value) 569 569 { … … 571 571 size_t actual_size; 572 572 573 const int rc = usb_control_request_get(pipe,573 const errno_t rc = usb_control_request_get(pipe, 574 574 USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_DEVICE, 575 575 USB_DEVREQ_GET_CONFIGURATION, 0, 0, &value, 1, &actual_size); … … 595 595 * @return Error code. 596 596 */ 597 int usb_request_set_configuration(usb_pipe_t *pipe,597 errno_t usb_request_set_configuration(usb_pipe_t *pipe, 598 598 uint8_t configuration_value) 599 599 { … … 614 614 * @return Error code. 615 615 */ 616 int usb_request_get_interface(usb_pipe_t *pipe,616 errno_t usb_request_get_interface(usb_pipe_t *pipe, 617 617 uint8_t interface_index, uint8_t *alternate_setting) 618 618 { … … 620 620 size_t actual_size; 621 621 622 const int rc = usb_control_request_get(pipe,622 const errno_t rc = usb_control_request_get(pipe, 623 623 USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_INTERFACE, 624 624 USB_DEVREQ_GET_INTERFACE, … … 647 647 * @return Error code. 648 648 */ 649 int usb_request_set_interface(usb_pipe_t *pipe,649 errno_t usb_request_set_interface(usb_pipe_t *pipe, 650 650 uint8_t interface_index, uint8_t alternate_setting) 651 651 { … … 666 666 * @return Error code. 667 667 */ 668 int usb_request_get_supported_languages(usb_pipe_t *pipe,668 errno_t usb_request_get_supported_languages(usb_pipe_t *pipe, 669 669 l18_win_locales_t **languages_ptr, size_t *languages_count) 670 670 { … … 675 675 uint8_t *string_descriptor = NULL; 676 676 size_t string_descriptor_size = 0; 677 const int rc = usb_request_get_descriptor_alloc(pipe,677 const errno_t rc = usb_request_get_descriptor_alloc(pipe, 678 678 USB_REQUEST_TYPE_STANDARD, USB_REQUEST_RECIPIENT_DEVICE, 679 679 USB_DESCTYPE_STRING, 0, 0, … … 733 733 * @return Error code. 734 734 */ 735 int usb_request_get_string(usb_pipe_t *pipe,735 errno_t usb_request_get_string(usb_pipe_t *pipe, 736 736 size_t index, l18_win_locales_t lang, char **string_ptr) 737 737 { … … 751 751 } 752 752 753 int rc;753 errno_t rc; 754 754 755 755 /* Prepare dynamically allocated variables. */ … … 824 824 * @return Error code. 825 825 */ 826 static int usb_request_clear_endpoint_halt(usb_pipe_t *pipe, uint16_t ep_index)826 static errno_t usb_request_clear_endpoint_halt(usb_pipe_t *pipe, uint16_t ep_index) 827 827 { 828 828 return usb_request_clear_feature(pipe, … … 838 838 * @return Error code. 839 839 */ 840 int usb_pipe_clear_halt(usb_pipe_t *ctrl_pipe, usb_pipe_t *target_pipe)840 errno_t usb_pipe_clear_halt(usb_pipe_t *ctrl_pipe, usb_pipe_t *target_pipe) 841 841 { 842 842 if ((ctrl_pipe == NULL) || (target_pipe == NULL)) { … … 856 856 * @return Error code. 857 857 */ 858 int usb_request_get_endpoint_status(usb_pipe_t *ctrl_pipe, usb_pipe_t *pipe,858 errno_t usb_request_get_endpoint_status(usb_pipe_t *ctrl_pipe, usb_pipe_t *pipe, 859 859 uint16_t *status) 860 860 { 861 861 uint16_t status_tmp; 862 862 uint16_t pipe_index = (uint16_t) pipe->desc.endpoint_no; 863 int rc = usb_request_get_status(ctrl_pipe,863 errno_t rc = usb_request_get_status(ctrl_pipe, 864 864 USB_REQUEST_RECIPIENT_ENDPOINT, uint16_host2usb(pipe_index), 865 865 &status_tmp);
Note:
See TracChangeset
for help on using the changeset viewer.