Changes in / [608afb9:79d2987] in mainline
- Location:
- uspace
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbhid/main.c
r608afb9 r79d2987 401 401 402 402 rc = usb_endpoint_pipe_initialize(&kbd_dev->poll_pipe, &kbd_dev->wire, 403 GUESSED_POLL_ENDPOINT, USB_TRANSFER_INTERRUPT, USB_DIRECTION_IN);403 GUESSED_POLL_ENDPOINT, USB_TRANSFER_INTERRUPT, 8, USB_DIRECTION_IN); 404 404 if (rc != EOK) { 405 405 printf("Failed to initialize interrupt in pipe: %s.\n", -
uspace/lib/usb/Makefile
r608afb9 r79d2987 44 44 src/localdrv.c \ 45 45 src/pipes.c \ 46 src/pipesinit.c \ 46 47 src/recognise.c \ 47 48 src/remotedrv.c \ -
uspace/lib/usb/include/usb/pipes.h
r608afb9 r79d2987 38 38 #include <sys/types.h> 39 39 #include <usb/usb.h> 40 #include <usb/descriptor.h> 40 41 #include <ipc/devman.h> 41 42 #include <driver.h> … … 73 74 usb_direction_t direction; 74 75 76 /** Maximum packet size for the endpoint. */ 77 size_t max_packet_size; 78 75 79 /** Phone to the host controller. 76 80 * Negative when no session is active. … … 79 83 } usb_endpoint_pipe_t; 80 84 85 86 /** Description of endpoint characteristics. */ 87 typedef struct { 88 /** Transfer type (e.g. control or interrupt). */ 89 usb_transfer_type_t transfer_type; 90 /** Transfer direction (to or from a device). */ 91 usb_direction_t direction; 92 /** Interface class this endpoint belongs to (-1 for any). */ 93 int interface_class; 94 /** Interface subclass this endpoint belongs to (-1 for any). */ 95 int interface_subclass; 96 /** Interface protocol this endpoint belongs to (-1 for any). */ 97 int interface_protocol; 98 /** Extra endpoint flags. */ 99 unsigned int flags; 100 } usb_endpoint_description_t; 101 102 /** Mapping of endpoint pipes and endpoint descriptions. */ 103 typedef struct { 104 /** Endpoint pipe. */ 105 usb_endpoint_pipe_t *pipe; 106 /** Endpoint description. */ 107 const usb_endpoint_description_t *description; 108 /** Found descriptor fitting the description. */ 109 usb_standard_endpoint_descriptor_t *descriptor; 110 /** Interface the endpoint belongs to. */ 111 usb_standard_interface_descriptor_t *interface; 112 /** Whether the endpoint was actually found. */ 113 bool present; 114 } usb_endpoint_mapping_t; 81 115 82 116 int usb_device_connection_initialize_from_device(usb_device_connection_t *, … … 87 121 int usb_endpoint_pipe_initialize(usb_endpoint_pipe_t *, 88 122 usb_device_connection_t *, 89 usb_endpoint_t, usb_transfer_type_t, usb_direction_t);123 usb_endpoint_t, usb_transfer_type_t, size_t, usb_direction_t); 90 124 int usb_endpoint_pipe_initialize_default_control(usb_endpoint_pipe_t *, 91 125 usb_device_connection_t *); 126 int usb_endpoint_pipe_initialize_from_configuration(usb_endpoint_mapping_t *, 127 size_t, uint8_t *, size_t, usb_device_connection_t *); 92 128 93 129 -
uspace/lib/usb/src/pipes.c
r608afb9 r79d2987 123 123 * @param endpoint_no Endpoint number (in USB 1.1 in range 0 to 15). 124 124 * @param transfer_type Transfer type (e.g. interrupt or bulk). 125 * @param max_packet_size Maximum packet size in bytes. 125 126 * @param direction Endpoint direction (in/out). 126 127 * @return Error code. … … 128 129 int usb_endpoint_pipe_initialize(usb_endpoint_pipe_t *pipe, 129 130 usb_device_connection_t *connection, usb_endpoint_t endpoint_no, 130 usb_transfer_type_t transfer_type, usb_direction_t direction) 131 usb_transfer_type_t transfer_type, size_t max_packet_size, 132 usb_direction_t direction) 131 133 { 132 134 assert(pipe); … … 137 139 pipe->endpoint_no = endpoint_no; 138 140 pipe->transfer_type = transfer_type; 141 pipe->max_packet_size = max_packet_size; 139 142 pipe->direction = direction; 140 143 … … 156 159 157 160 int rc = usb_endpoint_pipe_initialize(pipe, connection, 158 0, USB_TRANSFER_CONTROL, USB_DIRECTION_BOTH);161 0, USB_TRANSFER_CONTROL, 8, USB_DIRECTION_BOTH); 159 162 160 163 return rc;
Note:
See TracChangeset
for help on using the changeset viewer.