Changes in uspace/drv/uhci-hcd/iface.c [f241b05b:881c47b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci-hcd/iface.c
rf241b05b r881c47b 106 106 usbhc_iface_transfer_out_callback_t callback, void *arg) 107 107 { 108 size_t max_packet_size = 8; 109 dev_speed_t speed = FULL_SPEED; 110 111 tracker_t *tracker = tracker_get(dev, target, USB_TRANSFER_INTERRUPT, 112 max_packet_size, speed, data, size, NULL, callback, arg); 113 if (!tracker) 114 return ENOMEM; 115 tracker_control_read_data_old(tracker); 116 return EOK; 108 assert(dev); 109 uhci_t *hc = dev_to_uhci(dev); 110 assert(hc); 111 return uhci_transfer(hc, dev, target, USB_TRANSFER_INTERRUPT, 0, USB_PID_OUT, 112 false, data, size, callback, NULL, arg); 117 113 } 118 114 /*----------------------------------------------------------------------------*/ … … 121 117 usbhc_iface_transfer_in_callback_t callback, void *arg) 122 118 { 123 size_t max_packet_size = 8; 124 dev_speed_t speed = FULL_SPEED; 125 126 tracker_t *tracker = tracker_get(dev, target, USB_TRANSFER_INTERRUPT, 127 max_packet_size, speed, data, size, callback, NULL, arg); 128 if (!tracker) 129 return ENOMEM; 130 tracker_control_read_data_old(tracker); 131 return EOK; 132 } 133 /*----------------------------------------------------------------------------*/ 134 static int control_write(device_t *dev, usb_target_t target, 135 void *setup_data, size_t setup_size, void *data, size_t size, 136 usbhc_iface_transfer_out_callback_t callback, void *arg) 137 { 138 size_t max_packet_size = size; 139 dev_speed_t speed = FULL_SPEED; 140 141 tracker_t *tracker = tracker_get(dev, target, USB_TRANSFER_CONTROL, 142 max_packet_size, speed, data, size, NULL, callback, arg); 143 if (!tracker) 144 return ENOMEM; 145 tracker_control_write(tracker, setup_data, setup_size); 146 return EOK; 147 } 148 /*----------------------------------------------------------------------------*/ 149 static int control_read(device_t *dev, usb_target_t target, 150 void *setup_data, size_t setup_size, void *data, size_t size, 151 usbhc_iface_transfer_in_callback_t callback, void *arg) 152 { 153 size_t max_packet_size = size; 154 dev_speed_t speed = FULL_SPEED; 155 156 tracker_t *tracker = tracker_get(dev, target, USB_TRANSFER_CONTROL, 157 max_packet_size, speed, data, size, callback, NULL, arg); 158 if (!tracker) 159 return ENOMEM; 160 tracker_control_read(tracker, setup_data, setup_size); 161 return EOK; 119 assert(dev); 120 uhci_t *hc = dev_to_uhci(dev); 121 assert(hc); 122 return uhci_transfer(hc, dev, target, USB_TRANSFER_INTERRUPT, 0, USB_PID_IN, 123 false, data, size, NULL, callback, arg); 162 124 } 163 125 /*----------------------------------------------------------------------------*/ … … 166 128 usbhc_iface_transfer_out_callback_t callback, void *arg) 167 129 { 168 tracker_t *tracker = tracker_get(dev, target, USB_TRANSFER_CONTROL, 169 8, FULL_SPEED, data, size, NULL, callback, arg); 170 if (!tracker) 171 return ENOMEM; 172 tracker_control_setup_old(tracker); 173 return EOK; 130 assert(dev); 131 uhci_t *hc = dev_to_uhci(dev); 132 assert(hc); 133 return uhci_transfer(hc, dev, target, USB_TRANSFER_CONTROL, 0, USB_PID_SETUP, 134 false, data, size, callback, NULL, arg); 174 135 } 175 136 /*----------------------------------------------------------------------------*/ … … 178 139 usbhc_iface_transfer_out_callback_t callback, void *arg) 179 140 { 180 tracker_t *tracker = tracker_get(dev, target, USB_TRANSFER_CONTROL, 181 size, FULL_SPEED, data, size, NULL, callback, arg); 182 if (!tracker) 183 return ENOMEM; 184 tracker_control_write_data_old(tracker); 185 return EOK; 141 assert(dev); 142 uhci_t *hc = dev_to_uhci(dev); 143 assert(hc); 144 return uhci_transfer(hc, dev, target, USB_TRANSFER_CONTROL, 1, USB_PID_OUT, 145 false, data, size, callback, NULL, arg); 186 146 } 187 147 /*----------------------------------------------------------------------------*/ … … 189 149 usbhc_iface_transfer_in_callback_t callback, void *arg) 190 150 { 191 tracker_t *tracker = tracker_get(dev, target, USB_TRANSFER_CONTROL, 192 0, FULL_SPEED, NULL, 0, callback, NULL, arg); 193 if (!tracker) 194 return ENOMEM; 195 tracker_control_write_status_old(tracker); 196 return EOK; 151 assert(dev); 152 uhci_t *hc = dev_to_uhci(dev); 153 assert(hc); 154 return uhci_transfer(hc, dev, target, USB_TRANSFER_CONTROL, 0, USB_PID_IN, 155 false, NULL, 0, NULL, callback, arg); 197 156 } 198 157 /*----------------------------------------------------------------------------*/ … … 201 160 usbhc_iface_transfer_out_callback_t callback, void *arg) 202 161 { 203 tracker_t *tracker = tracker_get(dev, target, USB_TRANSFER_CONTROL, 204 8, FULL_SPEED, data, size, NULL, callback, arg); 205 if (!tracker) 206 return ENOMEM; 207 tracker_control_setup_old(tracker); 208 return EOK; 162 assert(dev); 163 uhci_t *hc = dev_to_uhci(dev); 164 assert(hc); 165 return uhci_transfer(hc, dev, target, USB_TRANSFER_CONTROL, 0, USB_PID_SETUP, 166 false, data, size, callback, NULL, arg); 209 167 } 210 168 /*----------------------------------------------------------------------------*/ … … 213 171 usbhc_iface_transfer_in_callback_t callback, void *arg) 214 172 { 215 tracker_t *tracker = tracker_get(dev, target, USB_TRANSFER_CONTROL, 216 size, FULL_SPEED, data, size, callback, NULL, arg); 217 if (!tracker) 218 return ENOMEM; 219 tracker_control_read_data_old(tracker); 220 return EOK; 173 assert(dev); 174 uhci_t *hc = dev_to_uhci(dev); 175 assert(hc); 176 return uhci_transfer(hc, dev, target, USB_TRANSFER_CONTROL, 1, USB_PID_IN, 177 false, data, size, NULL, callback, arg); 221 178 } 222 179 /*----------------------------------------------------------------------------*/ … … 224 181 usbhc_iface_transfer_out_callback_t callback, void *arg) 225 182 { 226 tracker_t *tracker = tracker_get(dev, target, USB_TRANSFER_CONTROL,227 0, FULL_SPEED, NULL, 0, NULL, callback, arg);228 if (!tracker)229 return ENOMEM;230 tracker_control_read_status_old(tracker);231 return EOK; 232 } 233 /*----------------------------------------------------------------------------*/ 183 assert(dev); 184 uhci_t *hc = dev_to_uhci(dev); 185 assert(hc); 186 return uhci_transfer(hc, dev, target, USB_TRANSFER_CONTROL, 0, USB_PID_OUT, 187 false, NULL, 0, callback, NULL, arg); 188 } 189 190 234 191 usbhc_iface_t uhci_iface = { 235 192 .tell_address = get_address, … … 243 200 .interrupt_out = interrupt_out, 244 201 .interrupt_in = interrupt_in, 245 246 .control_read = control_read,247 .control_write = control_write,248 202 249 203 .control_write_setup = control_write_setup,
Note:
See TracChangeset
for help on using the changeset viewer.