Changes in uspace/lib/usbdev/src/pipes.c [816f5f4:58563585] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbdev/src/pipes.c
r816f5f4 r58563585 51 51 assert(pipe != NULL); 52 52 53 if (!pipe->auto_reset_halt || (pipe-> desc.endpoint_no != 0)) {53 if (!pipe->auto_reset_halt || (pipe->endpoint_no != 0)) { 54 54 return; 55 55 } … … 88 88 } 89 89 90 if ((pipe->d esc.direction != USB_DIRECTION_BOTH)91 || (pipe-> desc.transfer_type != USB_TRANSFER_CONTROL)) {90 if ((pipe->direction != USB_DIRECTION_BOTH) 91 || (pipe->transfer_type != USB_TRANSFER_CONTROL)) { 92 92 return EBADF; 93 93 } … … 98 98 async_exch_t *exch = async_exchange_begin(pipe->bus_session); 99 99 size_t act_size = 0; 100 const int rc = usb_read(exch, pipe-> desc.endpoint_no, setup_packet, buffer,100 const int rc = usb_read(exch, pipe->endpoint_no, setup_packet, buffer, 101 101 buffer_size, &act_size); 102 102 async_exchange_end(exch); … … 142 142 } 143 143 144 if ((pipe->d esc.direction != USB_DIRECTION_BOTH)145 || (pipe-> desc.transfer_type != USB_TRANSFER_CONTROL)) {144 if ((pipe->direction != USB_DIRECTION_BOTH) 145 || (pipe->transfer_type != USB_TRANSFER_CONTROL)) { 146 146 return EBADF; 147 147 } … … 152 152 async_exch_t *exch = async_exchange_begin(pipe->bus_session); 153 153 const int rc = usb_write(exch, 154 pipe-> desc.endpoint_no, setup_packet, buffer, buffer_size);154 pipe->endpoint_no, setup_packet, buffer, buffer_size); 155 155 async_exchange_end(exch); 156 156 … … 183 183 } 184 184 185 if (pipe->d esc.direction != USB_DIRECTION_IN) {186 return EBADF; 187 } 188 189 if (pipe-> desc.transfer_type == USB_TRANSFER_CONTROL) {185 if (pipe->direction != USB_DIRECTION_IN) { 186 return EBADF; 187 } 188 189 if (pipe->transfer_type == USB_TRANSFER_CONTROL) { 190 190 return EBADF; 191 191 } 192 192 193 193 /* Isochronous transfer are not supported (yet) */ 194 if (pipe-> desc.transfer_type != USB_TRANSFER_INTERRUPT &&195 pipe-> desc.transfer_type != USB_TRANSFER_BULK)194 if (pipe->transfer_type != USB_TRANSFER_INTERRUPT && 195 pipe->transfer_type != USB_TRANSFER_BULK) 196 196 return ENOTSUP; 197 197 … … 199 199 size_t act_size = 0; 200 200 const int rc = 201 usb_read(exch, pipe-> desc.endpoint_no, 0, buffer, size, &act_size);201 usb_read(exch, pipe->endpoint_no, 0, buffer, size, &act_size); 202 202 async_exchange_end(exch); 203 203 … … 224 224 } 225 225 226 if (pipe->d esc.direction != USB_DIRECTION_OUT) {227 return EBADF; 228 } 229 230 if (pipe-> desc.transfer_type == USB_TRANSFER_CONTROL) {226 if (pipe->direction != USB_DIRECTION_OUT) { 227 return EBADF; 228 } 229 230 if (pipe->transfer_type == USB_TRANSFER_CONTROL) { 231 231 return EBADF; 232 232 } 233 233 234 234 /* Isochronous transfer are not supported (yet) */ 235 if (pipe-> desc.transfer_type != USB_TRANSFER_INTERRUPT &&236 pipe-> desc.transfer_type != USB_TRANSFER_BULK)235 if (pipe->transfer_type != USB_TRANSFER_INTERRUPT && 236 pipe->transfer_type != USB_TRANSFER_BULK) 237 237 return ENOTSUP; 238 238 239 239 async_exch_t *exch = async_exchange_begin(pipe->bus_session); 240 const int rc = usb_write(exch, pipe-> desc.endpoint_no, 0, buffer, size);240 const int rc = usb_write(exch, pipe->endpoint_no, 0, buffer, size); 241 241 async_exchange_end(exch); 242 242 return rc; … … 258 258 assert(pipe); 259 259 260 pipe-> desc.endpoint_no = endpoint_no;261 pipe-> desc.transfer_type = transfer_type;262 pipe-> desc.packets = packets;263 pipe-> desc.max_packet_size = max_packet_size;264 pipe->d esc.direction = direction;260 pipe->endpoint_no = endpoint_no; 261 pipe->transfer_type = transfer_type; 262 pipe->packets = packets; 263 pipe->max_packet_size = max_packet_size; 264 pipe->direction = direction; 265 265 pipe->auto_reset_halt = false; 266 266 pipe->bus_session = bus_session; … … 297 297 assert(pipe); 298 298 assert(pipe->bus_session); 299 300 pipe->desc.usb2.polling_interval = interval;301 299 async_exch_t *exch = async_exchange_begin(pipe->bus_session); 302 300 if (!exch) 303 301 return ENOMEM; 304 305 const int ret = usb_register_endpoint(exch, &pipe->desc);306 302 const int ret = usb_register_endpoint(exch, pipe->endpoint_no, 303 pipe->transfer_type, pipe->direction, pipe->max_packet_size, 304 pipe->packets, interval); 307 305 async_exchange_end(exch); 308 306 return ret; … … 321 319 if (!exch) 322 320 return ENOMEM; 323 324 const int ret = usb_unregister_endpoint(exch, &pipe->desc); 325 321 const int ret = usb_unregister_endpoint(exch, pipe->endpoint_no, 322 pipe->direction); 326 323 async_exchange_end(exch); 327 324 return ret;
Note:
See TracChangeset
for help on using the changeset viewer.