Changeset 3e4f2e0 in mainline for uspace/lib
- Timestamp:
- 2011-05-08T20:00:07Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 55054db0, 9212f8a
- Parents:
- 19065c7
- Location:
- uspace/lib
- Files:
-
- 4 added
- 6 edited
- 50 moved
-
usb/Makefile (modified) (1 diff)
-
usb/include/usb/ddfiface.h (modified) (1 diff)
-
usb/include/usb/descriptor.h (modified) (1 diff)
-
usb/include/usb/driver.h (added)
-
usb/src/ddfiface.c (modified) (1 diff)
-
usb/src/driver.c (moved) (moved from uspace/app/tester/adt/usbaddrkeep.c ) (2 diffs)
-
usb/src/dump.c (modified) (1 diff)
-
usbdev/Makefile (added)
-
usbdev/include/usb/devdrv.h (moved) (moved from uspace/lib/usb/include/usb/devdrv.h )
-
usbdev/include/usb/devpoll.h (moved) (moved from uspace/lib/usb/include/usb/devpoll.h )
-
usbdev/include/usb/dp.h (moved) (moved from uspace/lib/usb/include/usb/dp.h )
-
usbdev/include/usb/hub.h (moved) (moved from uspace/lib/usb/include/usb/hub.h )
-
usbdev/include/usb/pipes.h (moved) (moved from uspace/lib/usb/include/usb/pipes.h )
-
usbdev/include/usb/recognise.h (moved) (moved from uspace/lib/usb/include/usb/recognise.h )
-
usbdev/include/usb/request.h (moved) (moved from uspace/lib/usb/include/usb/request.h )
-
usbdev/include/usb/usbdevice.h (moved) (moved from uspace/lib/usb/include/usb/usbdevice.h ) (1 diff)
-
usbdev/src/altiface.c (moved) (moved from uspace/lib/usb/src/altiface.c )
-
usbdev/src/devdrv.c (moved) (moved from uspace/lib/usb/src/devdrv.c )
-
usbdev/src/devpoll.c (moved) (moved from uspace/lib/usb/src/devpoll.c )
-
usbdev/src/dp.c (moved) (moved from uspace/lib/usb/src/dp.c )
-
usbdev/src/hub.c (moved) (moved from uspace/lib/usb/src/hub.c )
-
usbdev/src/pipepriv.c (moved) (moved from uspace/lib/usb/src/pipepriv.c )
-
usbdev/src/pipepriv.h (moved) (moved from uspace/lib/usb/src/pipepriv.h )
-
usbdev/src/pipes.c (moved) (moved from uspace/lib/usb/src/pipes.c ) (1 diff)
-
usbdev/src/pipesinit.c (moved) (moved from uspace/lib/usb/src/pipesinit.c )
-
usbdev/src/pipesio.c (moved) (moved from uspace/lib/usb/src/pipesio.c )
-
usbdev/src/recognise.c (moved) (moved from uspace/lib/usb/src/recognise.c )
-
usbdev/src/request.c (moved) (moved from uspace/lib/usb/src/request.c )
-
usbdev/src/usbdevice.c (moved) (moved from uspace/lib/usb/src/usbdevice.c ) (1 diff)
-
usbhid/Makefile (added)
-
usbhid/include/usb/classes/hid.h (moved) (moved from uspace/lib/usb/include/usb/classes/hid.h ) (1 diff)
-
usbhid/include/usb/classes/hid/iface.h (moved) (moved from uspace/lib/usb/include/usb/classes/hid/iface.h )
-
usbhid/include/usb/classes/hid/utled.h (moved) (moved from uspace/lib/usb/include/usb/classes/hid/utled.h )
-
usbhid/include/usb/classes/hid_report_items.h (moved) (moved from uspace/lib/usb/include/usb/classes/hid_report_items.h )
-
usbhid/include/usb/classes/hiddescriptor.h (moved) (moved from uspace/lib/usb/include/usb/classes/hiddescriptor.h )
-
usbhid/include/usb/classes/hidparser.h (moved) (moved from uspace/lib/usb/include/usb/classes/hidparser.h )
-
usbhid/include/usb/classes/hidpath.h (moved) (moved from uspace/lib/usb/include/usb/classes/hidpath.h )
-
usbhid/include/usb/classes/hidreport.h (moved) (moved from uspace/lib/usb/include/usb/classes/hidreport.h )
-
usbhid/include/usb/classes/hidreq.h (moved) (moved from uspace/lib/usb/include/usb/classes/hidreq.h )
-
usbhid/include/usb/classes/hidtypes.h (moved) (moved from uspace/lib/usb/include/usb/classes/hidtypes.h )
-
usbhid/include/usb/classes/hidut.h (moved) (moved from uspace/lib/usb/include/usb/classes/hidut.h )
-
usbhid/include/usb/classes/hidutkbd.h (moved) (moved from uspace/lib/usb/include/usb/classes/hidutkbd.h )
-
usbhid/src/hiddescriptor.c (moved) (moved from uspace/lib/usb/src/hiddescriptor.c )
-
usbhid/src/hidiface.c (moved) (moved from uspace/lib/usb/src/hidiface.c )
-
usbhid/src/hidparser.c (moved) (moved from uspace/lib/usb/src/hidparser.c )
-
usbhid/src/hidpath.c (moved) (moved from uspace/lib/usb/src/hidpath.c )
-
usbhid/src/hidreport.c (moved) (moved from uspace/lib/usb/src/hidreport.c )
-
usbhid/src/hidreq.c (moved) (moved from uspace/lib/usb/src/hidreq.c )
-
usbhost/Makefile (added)
-
usbhost/include/usb/addrkeep.h (moved) (moved from uspace/lib/usb/include/usb/addrkeep.h )
-
usbhost/include/usb/host/batch.h (moved) (moved from uspace/lib/usb/include/usb/host/batch.h )
-
usbhost/include/usb/host/device_keeper.h (moved) (moved from uspace/lib/usb/include/usb/host/device_keeper.h )
-
usbhost/include/usb/host/endpoint.h (moved) (moved from uspace/lib/usb/include/usb/host/endpoint.h )
-
usbhost/include/usb/host/usb_endpoint_manager.h (moved) (moved from uspace/lib/usb/include/usb/host/usb_endpoint_manager.h )
-
usbhost/src/addrkeep.c (moved) (moved from uspace/lib/usb/src/addrkeep.c )
-
usbhost/src/batch.c (moved) (moved from uspace/lib/usb/src/host/batch.c )
-
usbhost/src/device_keeper.c (moved) (moved from uspace/lib/usb/src/host/device_keeper.c )
-
usbhost/src/endpoint.c (moved) (moved from uspace/lib/usb/src/host/endpoint.c )
-
usbhost/src/usb_endpoint_manager.c (moved) (moved from uspace/lib/usb/src/host/usb_endpoint_manager.c )
-
usbvirt/Makefile (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usb/Makefile
r19065c7 r3e4f2e0 29 29 USPACE_PREFIX = ../.. 30 30 LIBRARY = libusb 31 LIBS = $(LIBDRV_PREFIX)/libdrv.a 32 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -Iinclude 31 EXTRA_CFLAGS += \ 32 -I$(LIBDRV_PREFIX)/include \ 33 -Iinclude 33 34 34 35 SOURCES = \ 35 src/addrkeep.c \36 src/altiface.c \37 36 src/class.c \ 38 37 src/ddfiface.c \ 39 38 src/debug.c \ 40 src/devdrv.c \ 41 src/devpoll.c \ 42 src/dp.c \ 39 src/driver.c \ 43 40 src/dump.c \ 44 src/hidiface.c \45 src/hidpath.c \46 src/hidparser.c \47 src/hiddescriptor.c \48 41 src/host.c \ 49 src/hub.c \ 50 src/pipepriv.c \ 51 src/pipes.c \ 52 src/pipesinit.c \ 53 src/pipesio.c \ 54 src/recognise.c \ 55 src/request.c \ 56 src/usb.c \ 57 src/usbdevice.c \ 58 src/hidreq.c \ 59 src/hidreport.c \ 60 src/host/device_keeper.c \ 61 src/host/batch.c \ 62 src/host/endpoint.c \ 63 src/host/usb_endpoint_manager.c 42 src/usb.c 64 43 65 44 include $(USPACE_PREFIX)/Makefile.common -
uspace/lib/usb/include/usb/ddfiface.h
r19065c7 r3e4f2e0 37 37 38 38 #include <sys/types.h> 39 #include <usb/usbdevice.h>40 39 #include <usb_iface.h> 41 40 -
uspace/lib/usb/include/usb/descriptor.h
r19065c7 r3e4f2e0 167 167 } __attribute__ ((packed)) usb_standard_endpoint_descriptor_t; 168 168 169 /** Part of standard USB HID descriptor specifying one class descriptor. 170 * 171 * (See HID Specification, p.22) 172 */ 173 typedef struct { 174 /** Type of class-specific descriptor (Report or Physical). */ 175 uint8_t type; 176 /** Length of class-specific descriptor in bytes. */ 177 uint16_t length; 178 } __attribute__ ((packed)) usb_standard_hid_class_descriptor_info_t; 179 180 /** Standard USB HID descriptor. 181 * 182 * (See HID Specification, p.22) 183 * 184 * It is actually only the "header" of the descriptor, it does not contain 185 * the last two mandatory fields (type and length of the first class-specific 186 * descriptor). 187 */ 188 typedef struct { 189 /** Total size of this descriptor in bytes. 190 * 191 * This includes all class-specific descriptor info - type + length 192 * for each descriptor. 193 */ 194 uint8_t length; 195 /** Descriptor type (USB_DESCTYPE_HID). */ 196 uint8_t descriptor_type; 197 /** HID Class Specification release. */ 198 uint16_t spec_release; 199 /** Country code of localized hardware. */ 200 uint8_t country_code; 201 /** Total number of class-specific (i.e. Report and Physical) 202 * descriptors. 203 * 204 * @note There is always only one Report descriptor. 205 */ 206 uint8_t class_desc_count; 207 /** First mandatory class descriptor (Report) info. */ 208 usb_standard_hid_class_descriptor_info_t report_desc_info; 209 } __attribute__ ((packed)) usb_standard_hid_descriptor_t; 210 169 211 #endif 170 212 /** -
uspace/lib/usb/src/ddfiface.c
r19065c7 r3e4f2e0 37 37 #include <async.h> 38 38 #include <usb/ddfiface.h> 39 #include <usb/driver.h> 39 40 #include <usb/debug.h> 40 41 #include <errno.h> -
uspace/lib/usb/src/driver.c
r19065c7 r3e4f2e0 1 1 /* 2 * Copyright (c) 201 0Vojtech Horky2 * Copyright (c) 2011 Vojtech Horky 3 3 * All rights reserved. 4 4 * … … 27 27 */ 28 28 29 #include <stdio.h> 30 #include <stdlib.h> 31 #include <usb/addrkeep.h> 29 /** @addtogroup libusb 30 * @{ 31 */ 32 /** @file 33 * 34 */ 35 #include <devman.h> 36 #include <dev_iface.h> 37 #include <usb_iface.h> 38 #include <usb/driver.h> 32 39 #include <errno.h> 33 #include "../tester.h"34 35 #define MAX_ADDRESS 536 40 37 41 38 const char *test_usbaddrkeep(void) 42 /** Find host controller handle that is ancestor of given device. 43 * 44 * @param[in] device_handle Device devman handle. 45 * @param[out] hc_handle Where to store handle of host controller 46 * controlling device with @p device_handle handle. 47 * @return Error code. 48 */ 49 int usb_hc_find(devman_handle_t device_handle, devman_handle_t *hc_handle) 39 50 { 40 int rc; 41 usb_address_keeping_t addresses; 42 43 TPRINTF("Initializing addresses keeping structure...\n"); 44 usb_address_keeping_init(&addresses, MAX_ADDRESS); 45 46 TPRINTF("Requesting address...\n"); 47 usb_address_t addr = usb_address_keeping_request(&addresses); 48 TPRINTF("Address assigned: %d\n", (int) addr); 49 if (addr != 1) { 50 return "have not received expected address 1"; 51 int parent_phone = devman_parent_device_connect(device_handle, 52 IPC_FLAG_BLOCKING); 53 if (parent_phone < 0) { 54 return parent_phone; 51 55 } 52 56 53 TPRINTF("Releasing not assigned address...\n"); 54 rc = usb_address_keeping_release(&addresses, 2); 55 if (rc != ENOENT) { 56 return "have not received expected ENOENT"; 57 devman_handle_t h; 58 int rc = async_req_1_1(parent_phone, DEV_IFACE_ID(USB_DEV_IFACE), 59 IPC_M_USB_GET_HOST_CONTROLLER_HANDLE, &h); 60 61 async_hangup(parent_phone); 62 63 if (rc != EOK) { 64 return rc; 57 65 } 58 66 59 TPRINTF("Releasing acquired address...\n"); 60 rc = usb_address_keeping_release(&addresses, addr); 61 if (rc != EOK) { 62 return "have not received expected EOK"; 67 if (hc_handle != NULL) { 68 *hc_handle = h; 63 69 } 64 70 65 return NULL;71 return EOK; 66 72 } 73 74 /** 75 * @} 76 */ -
uspace/lib/usb/src/dump.c
r19065c7 r3e4f2e0 41 41 #include <usb/descriptor.h> 42 42 #include <usb/classes/classes.h> 43 #include <usb/classes/hid.h>44 43 45 44 /** Mapping between descriptor id and dumping function. */ -
uspace/lib/usbdev/include/usb/usbdevice.h
r19065c7 r3e4f2e0 50 50 } usb_hc_connection_t; 51 51 52 int usb_hc_find(devman_handle_t, devman_handle_t *);53 54 52 int usb_hc_connection_initialize_from_device(usb_hc_connection_t *, 55 53 ddf_dev_t *); -
uspace/lib/usbdev/src/pipes.c
r19065c7 r3e4f2e0 36 36 #include <usb/pipes.h> 37 37 #include <usb/debug.h> 38 #include <usb/driver.h> 38 39 #include <usbhc_iface.h> 39 40 #include <usb_iface.h> -
uspace/lib/usbdev/src/usbdevice.c
r19065c7 r3e4f2e0 37 37 #include <usb_iface.h> 38 38 #include <usb/usbdevice.h> 39 #include <usb/driver.h> 39 40 #include <usb/debug.h> 40 41 #include <errno.h> 41 42 #include <assert.h> 42 43 /** Find host controller handle that is ancestor of given device.44 *45 * @param[in] device_handle Device devman handle.46 * @param[out] hc_handle Where to store handle of host controller47 * controlling device with @p device_handle handle.48 * @return Error code.49 */50 int usb_hc_find(devman_handle_t device_handle, devman_handle_t *hc_handle)51 {52 int parent_phone = devman_parent_device_connect(device_handle,53 IPC_FLAG_BLOCKING);54 if (parent_phone < 0) {55 return parent_phone;56 }57 58 devman_handle_t h;59 usb_log_debug("asking for HC handle (my handle is %zu).\n", device_handle);60 int rc = async_req_1_1(parent_phone, DEV_IFACE_ID(USB_DEV_IFACE),61 IPC_M_USB_GET_HOST_CONTROLLER_HANDLE, &h);62 63 async_hangup(parent_phone);64 65 if (rc != EOK) {66 return rc;67 }68 69 if (hc_handle != NULL) {70 *hc_handle = h;71 }72 73 return EOK;74 }75 43 76 44 /** Initialize connection to USB host controller. -
uspace/lib/usbhid/include/usb/classes/hid.h
r19065c7 r3e4f2e0 69 69 } usb_hid_iface_protocol_t; 70 70 71 /** Part of standard USB HID descriptor specifying one class descriptor.72 *73 * (See HID Specification, p.22)74 */75 typedef struct {76 /** Type of class-specific descriptor (Report or Physical). */77 uint8_t type;78 /** Length of class-specific descriptor in bytes. */79 uint16_t length;80 } __attribute__ ((packed)) usb_standard_hid_class_descriptor_info_t;81 82 /** Standard USB HID descriptor.83 *84 * (See HID Specification, p.22)85 *86 * It is actually only the "header" of the descriptor, it does not contain87 * the last two mandatory fields (type and length of the first class-specific88 * descriptor).89 */90 typedef struct {91 /** Total size of this descriptor in bytes.92 *93 * This includes all class-specific descriptor info - type + length94 * for each descriptor.95 */96 uint8_t length;97 /** Descriptor type (USB_DESCTYPE_HID). */98 uint8_t descriptor_type;99 /** HID Class Specification release. */100 uint16_t spec_release;101 /** Country code of localized hardware. */102 uint8_t country_code;103 /** Total number of class-specific (i.e. Report and Physical)104 * descriptors.105 *106 * @note There is always only one Report descriptor.107 */108 uint8_t class_desc_count;109 /** First mandatory class descriptor (Report) info. */110 usb_standard_hid_class_descriptor_info_t report_desc_info;111 } __attribute__ ((packed)) usb_standard_hid_descriptor_t;112 113 71 114 72 #endif -
uspace/lib/usbvirt/Makefile
r19065c7 r3e4f2e0 30 30 LIBRARY = libusbvirt 31 31 32 EXTRA_CFLAGS = -I$(LIBUSB_PREFIX)/include -I$(LIBDRV_PREFIX)/include -Iinclude 32 EXTRA_CFLAGS = \ 33 -I$(LIBDRV_PREFIX)/include \ 34 -I$(LIBUSB_PREFIX)/include \ 35 -I$(LIBUSBDEV_PREFIX)/include \ 36 -Iinclude 33 37 34 38 SOURCES = \
Note:
See TracChangeset
for help on using the changeset viewer.
