Changeset 82122f3 in mainline for uspace/lib/usb
- Timestamp:
- 2010-12-17T14:51:41Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1f383dde
- Parents:
- 692f13e4 (diff), 11658b64 (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
- Files:
-
- 1 added
- 7 edited
- 1 moved
-
Makefile (modified) (2 diffs)
-
include/usb/classes/classes.h (modified) (1 diff)
-
include/usb/classes/hid.h (modified) (1 diff)
-
include/usb/usb.h (modified) (1 diff)
-
include/usb/usbdrv.h (modified) (1 diff)
-
src/addrkeep.c (modified) (1 diff)
-
src/class.c (moved) (moved from kernel/generic/include/syscall/sysarg64.h ) (2 diffs)
-
src/recognise.c (added)
-
src/usbdrv.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/Makefile
r692f13e4 r82122f3 34 34 SOURCES = \ 35 35 src/addrkeep.c \ 36 src/class.c \ 36 37 src/debug.c \ 37 38 src/drvpsync.c \ … … 40 41 src/hidparser.c \ 41 42 src/localdrv.c \ 43 src/recognise.c \ 42 44 src/remotedrv.c \ 43 45 src/usb.c \ -
uspace/lib/usb/include/usb/classes/classes.h
r692f13e4 r82122f3 60 60 } usb_class_t; 61 61 62 const char *usb_str_class(usb_class_t); 62 63 63 64 #endif -
uspace/lib/usb/include/usb/classes/hid.h
r692f13e4 r82122f3 127 127 usb_hid_configuration_t *conf; 128 128 usb_address_t address; 129 usb_endpoint_t default_ep;129 usb_endpoint_t poll_endpoint; 130 130 usb_hid_report_parser_t *parser; 131 131 } usb_hid_dev_kbd_t; -
uspace/lib/usb/include/usb/usb.h
r692f13e4 r82122f3 101 101 * Used by various USB functions as opaque handle. 102 102 */ 103 typedef ipcarg_t usb_handle_t;103 typedef sysarg_t usb_handle_t; 104 104 105 105 /** USB packet identifier. */ -
uspace/lib/usb/include/usb/usbdrv.h
r692f13e4 r82122f3 94 94 int usb_drv_async_wait_for(usb_handle_t); 95 95 96 int usb_drv_create_device_match_ids(int, match_id_list_t *, usb_address_t); 97 int usb_drv_register_child_in_devman(int, device_t *, usb_address_t, 98 devman_handle_t *); 99 96 100 97 101 #endif -
uspace/lib/usb/src/addrkeep.c
r692f13e4 r82122f3 199 199 usb_address_keeping_used_t *last 200 200 = used_address_get_instance(addresses->used_addresses.next); 201 free_address = last->address ;201 free_address = last->address + 1; 202 202 } 203 203 } -
uspace/lib/usb/src/class.c
r692f13e4 r82122f3 1 1 /* 2 * Copyright (c) 20 06 Jakub Jermar2 * Copyright (c) 2010 Vojtech Horky 3 3 * All rights reserved. 4 4 * … … 27 27 */ 28 28 29 /** @addtogroup generic29 /** @addtogroup libusb usb 30 30 * @{ 31 31 */ 32 /** @file 33 * @brief Class related functions. 34 */ 35 #include <usb/classes/classes.h> 36 #include <errno.h> 37 38 /** Tell string representation of USB class. 39 * 40 * @param cls Class code. 41 * @return String representation. 42 */ 43 const char *usb_str_class(usb_class_t cls) 44 { 45 switch (cls) { 46 case USB_CLASS_USE_INTERFACE: 47 return "use-interface"; 48 case USB_CLASS_AUDIO: 49 return "audio"; 50 case USB_CLASS_COMMUNICATIONS_CDC_CONTROL: 51 return "communications"; 52 case USB_CLASS_HID: 53 return "HID"; 54 case USB_CLASS_PHYSICAL: 55 return "physical"; 56 case USB_CLASS_IMAGE: 57 return "image"; 58 case USB_CLASS_PRINTER: 59 return "printer"; 60 case USB_CLASS_MASS_STORAGE: 61 return "mass-storage"; 62 case USB_CLASS_HUB: 63 return "hub"; 64 case USB_CLASS_CDC_DATA: 65 return "CDC"; 66 case USB_CLASS_SMART_CARD: 67 return "smart-card"; 68 case USB_CLASS_CONTENT_SECURITY: 69 return "security"; 70 case USB_CLASS_VIDEO: 71 return "video"; 72 case USB_CLASS_PERSONAL_HEALTHCARE: 73 return "healthcare"; 74 case USB_CLASS_DIAGNOSTIC: 75 return "diagnostic"; 76 case USB_CLASS_WIRELESS_CONTROLLER: 77 return "wireless"; 78 case USB_CLASS_MISCELLANEOUS: 79 return "misc"; 80 case USB_CLASS_APPLICATION_SPECIFIC: 81 return "application"; 82 case USB_CLASS_VENDOR_SPECIFIC: 83 return "vendor"; 84 default: 85 return "unknown"; 86 } 87 } 88 32 89 33 90 /** 34 * @file 35 * @brief Wrapper for explicit 64-bit arguments passed to syscalls. 91 * @} 36 92 */ 37 38 #ifndef KERN_SYSARG64_H_39 #define KERN_SYSARG64_H_40 41 typedef struct {42 unsigned long long value;43 } sysarg64_t;44 45 #endif46 47 /** @}48 */ -
uspace/lib/usb/src/usbdrv.c
r692f13e4 r82122f3 72 72 devman_handle_t handle; 73 73 74 rc = devman_device_get_handle("/virt/usbhc", &handle, 0);74 rc = devman_device_get_handle("/virt/usbhc", &handle, flags); 75 75 if (rc != EOK) { 76 76 return rc; 77 77 } 78 78 79 int phone = devman_device_connect(handle, 0);79 int phone = devman_device_connect(handle, flags); 80 80 81 81 return phone; … … 90 90 usb_address_t usb_drv_get_my_address(int phone, device_t *dev) 91 91 { 92 ipcarg_t address;92 sysarg_t address; 93 93 int rc = async_req_2_1(phone, DEV_IFACE_ID(USBHC_DEV_IFACE), 94 94 IPC_M_USBHC_GET_ADDRESS, … … 132 132 usb_address_t usb_drv_request_address(int phone) 133 133 { 134 ipcarg_t address;134 sysarg_t address; 135 135 int rc = async_req_1_1(phone, DEV_IFACE_ID(USBHC_DEV_IFACE), 136 136 IPC_M_USBHC_REQUEST_ADDRESS, &address); … … 298 298 * @return Error status. 299 299 */ 300 static int read_buffer_in(int phone, ipcarg_t hash,300 static int read_buffer_in(int phone, sysarg_t hash, 301 301 void *buffer, size_t size, size_t *actual_size) 302 302 { 303 303 ipc_call_t answer_data; 304 ipcarg_t answer_rc;304 sysarg_t answer_rc; 305 305 aid_t req; 306 306 int rc; … … 350 350 transfer_info_t *transfer = (transfer_info_t *) handle; 351 351 352 ipcarg_t answer_rc;352 sysarg_t answer_rc; 353 353 async_wait_for(transfer->request, &answer_rc); 354 354 … … 367 367 * We will use it when actually reading-in the data. 368 368 */ 369 ipcarg_t buffer_hash = IPC_GET_ARG1(transfer->reply);369 sysarg_t buffer_hash = IPC_GET_ARG1(transfer->reply); 370 370 if (buffer_hash == 0) { 371 371 rc = ENOENT;
Note:
See TracChangeset
for help on using the changeset viewer.
