Changeset 7fc092a in mainline for uspace/lib/usb/src
- Timestamp:
- 2011-01-27T22:09:29Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- db7ed07
- Parents:
- 9ee87f6 (diff), 6265a2b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- uspace/lib/usb/src
- Files:
-
- 3 added
- 14 edited
-
addrkeep.c (modified) (1 diff)
-
class.c (modified) (1 diff)
-
debug.c (modified) (1 diff)
-
dp.c (added)
-
drvpsync.c (modified) (1 diff)
-
dump.c (added)
-
hcdhubd.c (modified) (1 diff)
-
hcdhubd_private.h (modified) (1 diff)
-
hcdrv.c (modified) (1 diff)
-
hidparser.c (modified) (6 diffs)
-
localdrv.c (modified) (1 diff)
-
recognise.c (modified) (8 diffs)
-
remotedrv.c (modified) (1 diff)
-
usb.c (modified) (1 diff)
-
usbdrv.c (modified) (1 diff)
-
usbdrvreq.c (modified) (3 diffs)
-
usbmem.c (added)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/src/addrkeep.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/class.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/debug.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/drvpsync.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/hcdhubd.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/hcdhubd_private.h
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/hcdrv.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/hidparser.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ … … 40 40 * @param parser Opaque HID report parser structure. 41 41 * @param data Data describing the report. 42 * @param size Size of the descriptor in bytes.43 42 * @return Error code. 44 43 */ … … 55 54 * @param parser Opaque HID report parser structure. 56 55 * @param data Data for the report. 57 * @param size Size of the data in bytes.58 56 * @param callbacks Callbacks for report actions. 59 57 * @param arg Custom argument (passed through to the callbacks). … … 66 64 int i; 67 65 68 // TODO: parse report 66 /* main parsing loop */ 67 while(0){ 68 } 69 69 70 uint16_t keys[6]; 70 71 uint8_t keys[6]; 71 72 72 73 for (i = 0; i < 6; ++i) { … … 74 75 } 75 76 76 callbacks->keyboard(keys, 6, arg); 77 77 callbacks->keyboard(keys, 6, 0, arg); 78 79 return EOK; 80 } 81 82 /** Free the HID report parser structure 83 * 84 * @param parser Opaque HID report parser structure 85 * @return Error code 86 */ 87 int usb_hid_free_report_parser(usb_hid_report_parser_t *parser) 88 { 89 78 90 return EOK; 79 91 } … … 81 93 82 94 /** 95 * Parse input report. 96 * 97 * @param data Data for report 98 * @param size Size of report 99 * @param callbacks Callbacks for report actions 100 * @param arg Custom arguments 101 * 102 * @return Error code 103 */ 104 int usb_hid_boot_keyboard_input_report(const uint8_t *data, size_t size, 105 const usb_hid_report_in_callbacks_t *callbacks, void *arg) 106 { 107 int i; 108 usb_hid_report_item_t item; 109 110 /* fill item due to the boot protocol report descriptor */ 111 // modifier keys are in the first byte 112 uint8_t modifiers = data[0]; 113 114 item.offset = 2; /* second byte is reserved */ 115 item.size = 8; 116 item.count = 6; 117 item.usage_min = 0; 118 item.usage_max = 255; 119 item.logical_min = 0; 120 item.logical_max = 255; 121 122 if(size != 8){ 123 return -1; 124 } 125 126 uint8_t keys[6]; 127 for(i=item.offset; i<item.count; i++) { 128 keys[i-2] = data[i]; 129 } 130 131 callbacks->keyboard(keys, 6, modifiers, arg); 132 return EOK; 133 } 134 135 /** 136 * Makes output report for keyboard boot protocol 137 * 138 * @param leds 139 * @param output Output report data buffer 140 * @param size Size of the output buffer 141 * @return Error code 142 */ 143 int usb_hid_boot_keyboard_output_report(uint8_t leds, uint8_t *data, size_t size) 144 { 145 if(size != 1){ 146 return -1; 147 } 148 149 /* used only first five bits, others are only padding*/ 150 *data = leds; 151 return EOK; 152 } 153 154 /** 83 155 * @} 84 156 */ -
uspace/lib/usb/src/localdrv.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/recognise.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ … … 39 39 #include <errno.h> 40 40 41 /** Callback for getting host controller handle. 42 * 43 * @param dev Device in question. 44 * @param[out] handle Devman handle of the host controller. 45 * @return Error code. 46 */ 41 47 static int usb_iface_get_hc_handle(device_t *dev, devman_handle_t *handle) 42 48 { … … 203 209 uint8_t cur_descr_len = current_descriptor[0]; 204 210 uint8_t cur_descr_type = current_descriptor[1]; 211 212 if (cur_descr_len == 0) { 213 return ENOENT; 214 } 205 215 206 216 position += cur_descr_len; … … 233 243 * @param matches Match ids list to add matches to. 234 244 * @param address USB address of the attached device. 245 * @param config_count Number of configurations the device has. 235 246 * @return Error code. 236 247 */ … … 338 349 /** Probe for device kind and register it in devman. 339 350 * 340 * @param hc Open phone to the host controller. 341 * @param parent Parent device. 342 * @param address Address of the (unknown) attached device. 351 * @param[in] hc Open phone to the host controller. 352 * @param[in] parent Parent device. 353 * @param[in] address Address of the (unknown) attached device. 354 * @param[out] child_handle Handle of the child device. 343 355 * @return Error code. 344 356 */ … … 346 358 usb_address_t address, devman_handle_t *child_handle) 347 359 { 360 static size_t device_name_index = 0; 361 348 362 device_t *child = NULL; 349 363 char *child_name = NULL; … … 357 371 358 372 /* 359 * TODO: some better child naming 360 */ 361 rc = asprintf(&child_name, "usb%p", child); 373 * TODO: Once the device driver framework support persistent 374 * naming etc., something more descriptive could be created. 375 */ 376 rc = asprintf(&child_name, "usbdev%02zu", device_name_index); 362 377 if (rc < 0) { 363 378 goto failure; … … 381 396 } 382 397 398 device_name_index++; 399 383 400 return EOK; 384 401 -
uspace/lib/usb/src/remotedrv.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/usb.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/usbdrv.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ -
uspace/lib/usb/src/usbdrvreq.c
r9ee87f6 r7fc092a 27 27 */ 28 28 29 /** @addtogroup libusb usb29 /** @addtogroup libusb 30 30 * @{ 31 31 */ … … 60 60 #define PREPARE_SETUP_PACKET(name, p_direction, p_type, p_recipient, \ 61 61 p_request, p_value, p_index, p_length) \ 62 usb_device_request_setup_packet_t setup_packet= { \62 usb_device_request_setup_packet_t name = { \ 63 63 .request_type = \ 64 64 ((p_direction) == USB_DIRECTION_IN ? 128 : 0) \ … … 188 188 * @param[in] phone Open phone to HC driver. 189 189 * @param[in] old_address Current address. 190 * @param[in] address Address to be set.190 * @param[in] new_address Address to be set. 191 191 * @return Error code. 192 192 */
Note:
See TracChangeset
for help on using the changeset viewer.
