Changes in uspace/drv/bus/usb/vhc/main.c [b7fd2a0:e0a5d4c] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/vhc/main.c
rb7fd2a0 re0a5d4c 1 1 /* 2 2 * Copyright (c) 2011 Vojtech Horky 3 * Copyright (c) 2018 Ondrej Hlavaty 3 4 * All rights reserved. 4 5 * … … 40 41 41 42 #include <usb/host/ddf_helpers.h> 43 #include <usb/host/utility.h> 42 44 43 45 #include <usb/debug.h> … … 69 71 return ret; 70 72 } 71 vhc_init(vhc);72 73 return EOK; 73 74 } 74 75 75 hcd_ops_t vhc_hc_ops = {76 .schedule = vhc_schedule,77 };78 79 76 static errno_t vhc_dev_add(ddf_dev_t *dev) 80 77 { 78 /* Initialize generic structures */ 79 errno_t ret = hcd_ddf_setup_hc(dev, sizeof(vhc_data_t)); 80 if (ret != EOK) { 81 usb_log_error("Failed to init HCD structures: %s.", 82 str_error(ret)); 83 return ret; 84 } 85 vhc_data_t *vhc = ddf_dev_data_get(dev); 86 vhc_init(vhc); 87 88 hc_device_setup(&vhc->base, (bus_t *) &vhc->bus); 89 81 90 /* Initialize virtual structure */ 82 91 ddf_fun_t *ctl_fun = NULL; 83 errno_tret = vhc_control_node(dev, &ctl_fun);92 ret = vhc_control_node(dev, &ctl_fun); 84 93 if (ret != EOK) { 85 usb_log_error("Failed to setup control node.\n"); 86 return ret; 87 } 88 vhc_data_t *data = ddf_fun_data_get(ctl_fun); 89 90 /* Initialize generic structures */ 91 ret = hcd_ddf_setup_hc(dev, USB_SPEED_FULL, 92 BANDWIDTH_AVAILABLE_USB11, bandwidth_count_usb11); 93 if (ret != EOK) { 94 usb_log_error("Failed to init HCD structures: %s.\n", 95 str_error(ret)); 96 ddf_fun_destroy(ctl_fun); 94 usb_log_error("Failed to setup control node."); 97 95 return ret; 98 96 } 99 97 100 hcd_set_implementation(dev_to_hcd(dev), data, &vhc_hc_ops);101 102 98 /* Add virtual hub device */ 103 ret = vhc_virtdev_plug_hub( data, &data->hub, NULL, 0);99 ret = vhc_virtdev_plug_hub(vhc, &vhc->hub, NULL, 0); 104 100 if (ret != EOK) { 105 usb_log_error("Failed to plug root hub: %s. \n", str_error(ret));101 usb_log_error("Failed to plug root hub: %s.", str_error(ret)); 106 102 ddf_fun_destroy(ctl_fun); 107 103 return ret; … … 112 108 * needs to be ready at this time. 113 109 */ 114 ret = hc d_ddf_setup_root_hub(dev);110 ret = hc_setup_virtual_root_hub(&vhc->base, USB_SPEED_HIGH); 115 111 if (ret != EOK) { 116 usb_log_error("Failed to init VHC root hub: %s \n",112 usb_log_error("Failed to init VHC root hub: %s", 117 113 str_error(ret)); 118 114 // TODO do something here...
Note:
See TracChangeset
for help on using the changeset viewer.