Changeset 5a6cc679 in mainline for uspace/drv/bus/usb/ohci
- 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/ohci
- Files:
-
- 9 edited
-
endpoint_list.c (modified) (1 diff)
-
endpoint_list.h (modified) (1 diff)
-
hc.c (modified) (10 diffs)
-
hc.h (modified) (1 diff)
-
hw_struct/completion_codes.h (modified) (1 diff)
-
hw_struct/transfer_descriptor.h (modified) (1 diff)
-
ohci_bus.h (modified) (1 diff)
-
ohci_rh.c (modified) (9 diffs)
-
ohci_rh.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/ohci/endpoint_list.c
r132ab5d1 r5a6cc679 51 51 * Allocates memory for internal ed_t structure. 52 52 */ 53 int endpoint_list_init(endpoint_list_t *instance, const char *name)53 errno_t endpoint_list_init(endpoint_list_t *instance, const char *name) 54 54 { 55 55 assert(instance); -
uspace/drv/bus/usb/ohci/endpoint_list.h
r132ab5d1 r5a6cc679 71 71 } 72 72 73 int endpoint_list_init(endpoint_list_t *instance, const char *name);73 errno_t endpoint_list_init(endpoint_list_t *instance, const char *name); 74 74 void endpoint_list_set_next( 75 75 const endpoint_list_t *instance, const endpoint_list_t *next); -
uspace/drv/bus/usb/ohci/hc.c
r132ab5d1 r5a6cc679 90 90 }; 91 91 92 static int hc_init_transfer_lists(hc_t *instance);93 static int hc_init_memory(hc_t *instance);92 static errno_t hc_init_transfer_lists(hc_t *instance); 93 static errno_t hc_init_memory(hc_t *instance); 94 94 95 95 /** Generate IRQ code. … … 102 102 * @return Error code. 103 103 */ 104 int hc_gen_irq_code(irq_code_t *code, hc_device_t *hcd, const hw_res_list_parsed_t *hw_res, int *irq)104 errno_t hc_gen_irq_code(irq_code_t *code, hc_device_t *hcd, const hw_res_list_parsed_t *hw_res, int *irq) 105 105 { 106 106 assert(code); … … 151 151 * @return Error code 152 152 */ 153 int hc_add(hc_device_t *hcd, const hw_res_list_parsed_t *hw_res)153 errno_t hc_add(hc_device_t *hcd, const hw_res_list_parsed_t *hw_res) 154 154 { 155 155 hc_t *instance = hcd_to_hc(hcd); … … 159 159 return EINVAL; 160 160 161 int ret = pio_enable_range(&hw_res->mem_ranges.ranges[0],161 errno_t ret = pio_enable_range(&hw_res->mem_ranges.ranges[0], 162 162 (void **) &instance->registers); 163 163 if (ret != EOK) { … … 263 263 } 264 264 265 int ohci_hc_status(bus_t *bus_base, uint32_t *status)265 errno_t ohci_hc_status(bus_t *bus_base, uint32_t *status) 266 266 { 267 267 assert(bus_base); … … 285 285 * @return Error code. 286 286 */ 287 int ohci_hc_schedule(usb_transfer_batch_t *batch)287 errno_t ohci_hc_schedule(usb_transfer_batch_t *batch) 288 288 { 289 289 assert(batch); … … 547 547 * @return Error code 548 548 */ 549 int hc_init_transfer_lists(hc_t *instance)549 errno_t hc_init_transfer_lists(hc_t *instance) 550 550 { 551 551 assert(instance); … … 553 553 do { \ 554 554 const char *name = usb_str_transfer_type(type); \ 555 const int ret = endpoint_list_init(&instance->lists[type], name); \555 const errno_t ret = endpoint_list_init(&instance->lists[type], name); \ 556 556 if (ret != EOK) { \ 557 557 usb_log_error("Failed to setup %s endpoint list: %s.", \ … … 581 581 * @return Error code. 582 582 */ 583 int hc_init_memory(hc_t *instance)583 errno_t hc_init_memory(hc_t *instance) 584 584 { 585 585 assert(instance); … … 587 587 memset(&instance->rh, 0, sizeof(instance->rh)); 588 588 /* Init queues */ 589 int ret = hc_init_transfer_lists(instance);589 errno_t ret = hc_init_transfer_lists(instance); 590 590 if (ret != EOK) { 591 591 return ret; -
uspace/drv/bus/usb/ohci/hc.h
r132ab5d1 r5a6cc679 89 89 } 90 90 91 extern int hc_add(hc_device_t *, const hw_res_list_parsed_t *);92 extern int hc_gen_irq_code(irq_code_t *, hc_device_t *, const hw_res_list_parsed_t *, int *);93 extern int hc_gain_control(hc_device_t *);94 extern int hc_start(hc_device_t *);95 extern int hc_setup_roothub(hc_device_t *);96 extern int hc_gone(hc_device_t *);91 extern errno_t hc_add(hc_device_t *, const hw_res_list_parsed_t *); 92 extern errno_t hc_gen_irq_code(irq_code_t *, hc_device_t *, const hw_res_list_parsed_t *, int *); 93 extern errno_t hc_gain_control(hc_device_t *); 94 extern errno_t hc_start(hc_device_t *); 95 extern errno_t hc_setup_roothub(hc_device_t *); 96 extern errno_t hc_gone(hc_device_t *); 97 97 98 98 extern void hc_enqueue_endpoint(hc_t *, const endpoint_t *); 99 99 extern void hc_dequeue_endpoint(hc_t *, const endpoint_t *); 100 100 101 extern int ohci_hc_schedule(usb_transfer_batch_t *);102 extern int ohci_hc_status(bus_t *, uint32_t *);101 extern errno_t ohci_hc_schedule(usb_transfer_batch_t *); 102 extern errno_t ohci_hc_status(bus_t *, uint32_t *); 103 103 extern void ohci_hc_interrupt(bus_t *, uint32_t); 104 104 -
uspace/drv/bus/usb/ohci/hw_struct/completion_codes.h
r132ab5d1 r5a6cc679 54 54 }; 55 55 56 inline static int cc_to_rc(unsigned int cc)56 inline static errno_t cc_to_rc(unsigned int cc) 57 57 { 58 58 switch (cc) { -
uspace/drv/bus/usb/ohci/hw_struct/transfer_descriptor.h
r132ab5d1 r5a6cc679 119 119 * @return Error code. 120 120 */ 121 static inline int td_error(const td_t *instance)121 static inline errno_t td_error(const td_t *instance) 122 122 { 123 123 assert(instance); -
uspace/drv/bus/usb/ohci/ohci_bus.h
r132ab5d1 r5a6cc679 65 65 } ohci_bus_t; 66 66 67 int ohci_bus_init(ohci_bus_t *, hc_t *);67 errno_t ohci_bus_init(ohci_bus_t *, hc_t *); 68 68 void ohci_ep_toggle_reset(endpoint_t *); 69 69 -
uspace/drv/bus/usb/ohci/ohci_rh.c
r132ab5d1 r5a6cc679 109 109 * initializes internal virtual hub. 110 110 */ 111 int ohci_rh_init(ohci_rh_t *instance, ohci_regs_t *regs,111 errno_t ohci_rh_init(ohci_rh_t *instance, ohci_regs_t *regs, 112 112 fibril_mutex_t *guard, const char *name) 113 113 { … … 176 176 * status change requests might be postponed until there is something to report. 177 177 */ 178 int ohci_rh_schedule(ohci_rh_t *instance, usb_transfer_batch_t *batch)178 errno_t ohci_rh_schedule(ohci_rh_t *instance, usb_transfer_batch_t *batch) 179 179 { 180 180 assert(instance); … … 214 214 * processing of a postponed request. 215 215 */ 216 int ohci_rh_interrupt(ohci_rh_t *instance)216 errno_t ohci_rh_interrupt(ohci_rh_t *instance) 217 217 { 218 218 fibril_mutex_lock(instance->guard); … … 259 259 * @return Error code. 260 260 */ 261 static int req_get_status(usbvirt_device_t *device,261 static errno_t req_get_status(usbvirt_device_t *device, 262 262 const usb_device_request_setup_packet_t *setup_packet, 263 263 uint8_t *data, size_t *act_size) … … 282 282 * @return Error code. 283 283 */ 284 static int req_clear_hub_feature(usbvirt_device_t *device,284 static errno_t req_clear_hub_feature(usbvirt_device_t *device, 285 285 const usb_device_request_setup_packet_t *setup_packet, 286 286 uint8_t *data, size_t *act_size) … … 312 312 * @return Error code. 313 313 */ 314 static int req_get_port_status(usbvirt_device_t *device,314 static errno_t req_get_port_status(usbvirt_device_t *device, 315 315 const usb_device_request_setup_packet_t *setup_packet, 316 316 uint8_t *data, size_t *act_size) … … 336 336 * @return Error code. 337 337 */ 338 static int req_clear_port_feature(usbvirt_device_t *device,338 static errno_t req_clear_port_feature(usbvirt_device_t *device, 339 339 const usb_device_request_setup_packet_t *setup_packet, 340 340 uint8_t *data, size_t *act_size) … … 400 400 * @return Error code. 401 401 */ 402 static int req_set_port_feature(usbvirt_device_t *device,402 static errno_t req_set_port_feature(usbvirt_device_t *device, 403 403 const usb_device_request_setup_packet_t *setup_packet, 404 404 uint8_t *data, size_t *act_size) … … 451 451 * only need 1 byte. 452 452 */ 453 static int req_status_change_handler(usbvirt_device_t *device,453 static errno_t req_status_change_handler(usbvirt_device_t *device, 454 454 usb_endpoint_t endpoint, usb_transfer_type_t tr_type, 455 455 void *buffer, size_t buffer_size, size_t *actual_size) -
uspace/drv/bus/usb/ohci/ohci_rh.h
r132ab5d1 r5a6cc679 66 66 } ohci_rh_t; 67 67 68 int ohci_rh_init(ohci_rh_t *, ohci_regs_t *, fibril_mutex_t *, const char *);69 int ohci_rh_schedule(ohci_rh_t *instance, usb_transfer_batch_t *batch);70 int ohci_rh_interrupt(ohci_rh_t *instance);68 errno_t ohci_rh_init(ohci_rh_t *, ohci_regs_t *, fibril_mutex_t *, const char *); 69 errno_t ohci_rh_schedule(ohci_rh_t *instance, usb_transfer_batch_t *batch); 70 errno_t ohci_rh_interrupt(ohci_rh_t *instance); 71 71 72 72 /** Get OHCI rh address.
Note:
See TracChangeset
for help on using the changeset viewer.
