Changeset 9212f8a in mainline


Ignore:
Timestamp:
2011-05-08T20:26:04Z (13 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a81a1d09, c372e03
Parents:
ebf6a40 (diff), 3e4f2e0 (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.
Message:

Start libusb reorganization

Location:
uspace
Files:
4 added
1 deleted
34 edited
50 moved

Legend:

Unmodified
Added
Removed
  • uspace/Makefile

    rebf6a40 r9212f8a  
    179179ifeq ($(UARCH),amd64)
    180180        LIBS += lib/usb
     181        LIBS += lib/usbhost
     182        LIBS += lib/usbdev
     183        LIBS += lib/usbhid
    181184        LIBS += lib/usbvirt
    182185endif
     
    184187ifeq ($(UARCH),ia32)
    185188        LIBS += lib/usb
     189        LIBS += lib/usbhost
     190        LIBS += lib/usbdev
     191        LIBS += lib/usbhid
    186192        LIBS += lib/usbvirt
    187193endif
  • uspace/Makefile.common

    rebf6a40 r9212f8a  
    8888
    8989LIBUSB_PREFIX = $(LIB_PREFIX)/usb
     90LIBUSBHOST_PREFIX = $(LIB_PREFIX)/usbhost
     91LIBUSBDEV_PREFIX = $(LIB_PREFIX)/usbdev
     92LIBUSBHID_PREFIX = $(LIB_PREFIX)/usbhid
    9093LIBUSBVIRT_PREFIX = $(LIB_PREFIX)/usbvirt
    9194LIBDRV_PREFIX = $(LIB_PREFIX)/drv
  • uspace/app/lsusb/Makefile

    rebf6a40 r9212f8a  
    3030BINARY = lsusb
    3131
    32 LIBS = $(LIBUSB_PREFIX)/libusb.a $(LIBDRV_PREFIX)/libdrv.a
    33 EXTRA_CFLAGS = -I$(LIBUSB_PREFIX)/include -I$(LIBDRV_PREFIX)/include
     32LIBS = \
     33        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     34        $(LIBUSB_PREFIX)/libusb.a \
     35        $(LIBDRV_PREFIX)/libdrv.a
     36EXTRA_CFLAGS = \
     37        -I$(LIBUSB_PREFIX)/include \
     38        -I$(LIBUSBDEV_PREFIX)/include \
     39        -I$(LIBDRV_PREFIX)/include
    3440
    3541SOURCES = \
  • uspace/app/tester/Makefile

    rebf6a40 r9212f8a  
    3131BINARY = tester
    3232
    33 LIBS += $(LIBUSB_PREFIX)/libusb.a
    34 EXTRA_CFLAGS += -I$(LIBUSB_PREFIX)/include
    35 
    3633SOURCES = \
    3734        tester.c \
    38         adt/usbaddrkeep.c \
    3935        thread/thread1.c \
    4036        print/print1.c \
  • uspace/app/tester/tester.c

    rebf6a40 r9212f8a  
    6464#include "mm/mapping1.def"
    6565#include "hw/serial/serial1.def"
    66 #include "adt/usbaddrkeep.def"
    6766#include "hw/misc/virtchar1.def"
    6867#include "devs/devman1.def"
  • uspace/app/tester/tester.h

    rebf6a40 r9212f8a  
    8080extern const char *test_mapping1(void);
    8181extern const char *test_serial1(void);
    82 extern const char *test_usbaddrkeep(void);
    8382extern const char *test_virtchar1(void);
    8483extern const char *test_devman1(void);
  • uspace/app/usbinfo/Makefile

    rebf6a40 r9212f8a  
    3030BINARY = usbinfo
    3131
    32 LIBS = $(LIBUSB_PREFIX)/libusb.a $(LIBDRV_PREFIX)/libdrv.a
    33 EXTRA_CFLAGS = -I$(LIBUSB_PREFIX)/include -I$(LIBDRV_PREFIX)/include
     32LIBS = \
     33        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     34        $(LIBUSB_PREFIX)/libusb.a \
     35        $(LIBDRV_PREFIX)/libdrv.a
     36EXTRA_CFLAGS = \
     37        -I$(LIBUSB_PREFIX)/include \
     38        -I$(LIBUSBDEV_PREFIX)/include \
     39        -I$(LIBDRV_PREFIX)/include
    3440
    3541SOURCES = \
  • uspace/app/usbinfo/info.c

    rebf6a40 r9212f8a  
    4141#include <usb/request.h>
    4242#include <usb/classes/classes.h>
    43 #include <usb/classes/hid.h>
    4443#include <usb/classes/hub.h>
    4544#include "usbinfo.h"
  • uspace/app/usbinfo/main.c

    rebf6a40 r9212f8a  
    4646#include <usb/pipes.h>
    4747#include <usb/host.h>
     48#include <usb/driver.h>
    4849#include "usbinfo.h"
    4950
  • uspace/app/vuhid/Makefile

    rebf6a40 r9212f8a  
    3434LIBS = \
    3535        $(LIBUSBVIRT_PREFIX)/libusbvirt.a \
     36        $(LIBUSBHID_PREFIX)/libusbhid.a \
     37        $(LIBUSBDEV_PREFIX)/libusbdev.a \
    3638        $(LIBUSB_PREFIX)/libusb.a
    3739EXTRA_CFLAGS = \
    3840        -I$(LIBUSB_PREFIX)/include \
     41        -I$(LIBUSBDEV_PREFIX)/include \
     42        -I$(LIBUSBHID_PREFIX)/include \
    3943        -I$(LIBUSBVIRT_PREFIX)/include \
    4044        -I$(LIBDRV_PREFIX)/include
  • uspace/drv/ehci-hcd/Makefile

    rebf6a40 r9212f8a  
    2828
    2929USPACE_PREFIX = ../..
    30 LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBUSB_PREFIX)/libusb.a
    31 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBUSB_PREFIX)/include -I.
     30
     31LIBS = \
     32        $(LIBUSBHOST_PREFIX)/libusbhost.a \
     33        $(LIBUSB_PREFIX)/libusb.a \
     34        $(LIBDRV_PREFIX)/libdrv.a
     35EXTRA_CFLAGS += \
     36        -I$(LIBUSB_PREFIX)/include \
     37        -I$(LIBUSBHOST_PREFIX)/include \
     38        -I$(LIBDRV_PREFIX)/include
     39
    3240BINARY = ehci-hcd
    3341
  • uspace/drv/ohci/Makefile

    rebf6a40 r9212f8a  
    2828
    2929USPACE_PREFIX = ../..
    30 LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBUSB_PREFIX)/libusb.a
    31 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBUSB_PREFIX)/include -I.
     30
     31LIBS = \
     32        $(LIBUSBHOST_PREFIX)/libusbhost.a \
     33        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     34        $(LIBUSB_PREFIX)/libusb.a \
     35        $(LIBDRV_PREFIX)/libdrv.a
     36EXTRA_CFLAGS += \
     37        -I$(LIBUSB_PREFIX)/include \
     38        -I$(LIBUSBDEV_PREFIX)/include \
     39        -I$(LIBUSBHOST_PREFIX)/include \
     40        -I$(LIBDRV_PREFIX)/include
     41
    3242BINARY = ohci
    3343
  • uspace/drv/ohci/hc.c

    rebf6a40 r9212f8a  
    4040#include <usb/usb.h>
    4141#include <usb/ddfiface.h>
    42 #include <usb/usbdevice.h>
    4342
    4443#include "hc.h"
  • uspace/drv/ohci/hw_struct/endpoint_descriptor.h

    rebf6a40 r9212f8a  
    4040#include <usb/host/endpoint.h>
    4141
    42 #include "utils/malloc32.h"
     42#include "../utils/malloc32.h"
    4343#include "transfer_descriptor.h"
    4444
  • uspace/drv/ohci/hw_struct/transfer_descriptor.c

    rebf6a40 r9212f8a  
    3333 */
    3434#include <usb/usb.h>
    35 #include "utils/malloc32.h"
    36 
    3735#include "transfer_descriptor.h"
    3836
  • uspace/drv/ohci/hw_struct/transfer_descriptor.h

    rebf6a40 r9212f8a  
    3737#include <bool.h>
    3838#include <stdint.h>
    39 #include "utils/malloc32.h"
     39#include "../utils/malloc32.h"
    4040
    4141#include "completion_codes.h"
  • uspace/drv/uhci-hcd/Makefile

    rebf6a40 r9212f8a  
    2828
    2929USPACE_PREFIX = ../..
    30 LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBUSB_PREFIX)/libusb.a
    31 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBUSB_PREFIX)/include -I.
     30
     31LIBS = \
     32        $(LIBUSBHOST_PREFIX)/libusbhost.a \
     33        $(LIBUSB_PREFIX)/libusb.a \
     34        $(LIBDRV_PREFIX)/libdrv.a
     35EXTRA_CFLAGS += \
     36        -I$(LIBUSB_PREFIX)/include \
     37        -I$(LIBUSBHOST_PREFIX)/include \
     38        -I$(LIBDRV_PREFIX)/include
     39
    3240BINARY = uhci-hcd
    3341
  • uspace/drv/uhci-hcd/hw_struct/queue_head.h

    rebf6a40 r9212f8a  
    3838#include "link_pointer.h"
    3939#include "transfer_descriptor.h"
    40 #include "utils/malloc32.h"
     40#include "../utils/malloc32.h"
    4141
    4242/** This structure is defined in UHCI design guide p. 31 */
  • uspace/drv/uhci-hcd/hw_struct/transfer_descriptor.c

    rebf6a40 r9212f8a  
    3636
    3737#include "transfer_descriptor.h"
    38 #include "utils/malloc32.h"
     38#include "../utils/malloc32.h"
    3939
    4040/** Initialize Transfer Descriptor
  • uspace/drv/uhci-rhd/Makefile

    rebf6a40 r9212f8a  
    2828
    2929USPACE_PREFIX = ../..
    30 LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBUSB_PREFIX)/libusb.a
    31 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBUSB_PREFIX)/include -I.
     30
     31LIBS = \
     32        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     33        $(LIBUSB_PREFIX)/libusb.a \
     34        $(LIBDRV_PREFIX)/libdrv.a
     35EXTRA_CFLAGS += \
     36        -I$(LIBUSB_PREFIX)/include \
     37        -I$(LIBUSBDEV_PREFIX)/include \
     38        -I$(LIBDRV_PREFIX)/include
     39
    3240BINARY = uhci-rhd
    3341
  • uspace/drv/usbflbk/Makefile

    rebf6a40 r9212f8a  
    2828
    2929USPACE_PREFIX = ../..
    30 LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBUSB_PREFIX)/libusb.a
    31 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBUSB_PREFIX)/include
     30
     31LIBS = \
     32        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     33        $(LIBUSB_PREFIX)/libusb.a \
     34        $(LIBDRV_PREFIX)/libdrv.a
     35EXTRA_CFLAGS += \
     36        -I$(LIBUSB_PREFIX)/include \
     37        -I$(LIBUSBDEV_PREFIX)/include \
     38        -I$(LIBDRV_PREFIX)/include
     39
    3240BINARY = usbflbk
    3341
  • uspace/drv/usbhid/Makefile

    rebf6a40 r9212f8a  
    2828
    2929USPACE_PREFIX = ../..
    30 LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBUSB_PREFIX)/libusb.a
    31 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBUSB_PREFIX)/include -I.
     30
     31LIBS = \
     32        $(LIBUSBHID_PREFIX)/libusbhid.a \
     33        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     34        $(LIBUSB_PREFIX)/libusb.a \
     35        $(LIBDRV_PREFIX)/libdrv.a
     36EXTRA_CFLAGS += \
     37        -I. \
     38        -I$(LIBUSB_PREFIX)/include \
     39        -I$(LIBUSBDEV_PREFIX)/include \
     40        -I$(LIBUSBHID_PREFIX)/include \
     41        -I$(LIBDRV_PREFIX)/include
     42
    3243BINARY = usbhid
    3344
  • uspace/drv/usbhub/Makefile

    rebf6a40 r9212f8a  
    2828
    2929USPACE_PREFIX = ../..
    30 LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBUSB_PREFIX)/libusb.a
    31 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBUSB_PREFIX)/include
     30
     31LIBS = \
     32        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     33        $(LIBUSB_PREFIX)/libusb.a \
     34        $(LIBDRV_PREFIX)/libdrv.a
     35EXTRA_CFLAGS += \
     36        -I$(LIBUSB_PREFIX)/include \
     37        -I$(LIBUSBDEV_PREFIX)/include \
     38        -I$(LIBDRV_PREFIX)/include
     39
    3240BINARY = usbhub
    3341
  • uspace/drv/usbkbd/Makefile

    rebf6a40 r9212f8a  
    2828
    2929USPACE_PREFIX = ../..
    30 LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBUSB_PREFIX)/libusb.a
    31 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBUSB_PREFIX)/include -I.
     30
     31LIBS = \
     32        $(LIBUSBHID_PREFIX)/libusbhid.a \
     33        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     34        $(LIBUSB_PREFIX)/libusb.a \
     35        $(LIBDRV_PREFIX)/libdrv.a
     36EXTRA_CFLAGS += \
     37        -I. \
     38        -I$(LIBUSB_PREFIX)/include \
     39        -I$(LIBUSBDEV_PREFIX)/include \
     40        -I$(LIBUSBHID_PREFIX)/include \
     41        -I$(LIBDRV_PREFIX)/include
     42
    3243BINARY = usbkbd
    3344
  • uspace/drv/usbmast/Makefile

    rebf6a40 r9212f8a  
    2828
    2929USPACE_PREFIX = ../..
    30 LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBUSB_PREFIX)/libusb.a
    31 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBUSB_PREFIX)/include
     30
     31LIBS = \
     32        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     33        $(LIBUSB_PREFIX)/libusb.a \
     34        $(LIBDRV_PREFIX)/libdrv.a
     35EXTRA_CFLAGS += \
     36        -I$(LIBUSB_PREFIX)/include \
     37        -I$(LIBUSBDEV_PREFIX)/include \
     38        -I$(LIBDRV_PREFIX)/include
     39
    3240BINARY = usbmast
    3341
  • uspace/drv/usbmid/Makefile

    rebf6a40 r9212f8a  
    2828
    2929USPACE_PREFIX = ../..
    30 LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBUSB_PREFIX)/libusb.a
    31 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBUSB_PREFIX)/include
     30
     31LIBS = \
     32        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     33        $(LIBUSB_PREFIX)/libusb.a \
     34        $(LIBDRV_PREFIX)/libdrv.a
     35EXTRA_CFLAGS += \
     36        -I$(LIBUSB_PREFIX)/include \
     37        -I$(LIBUSBDEV_PREFIX)/include \
     38        -I$(LIBDRV_PREFIX)/include
     39       
    3240BINARY = usbmid
    3341
  • uspace/drv/usbmouse/Makefile

    rebf6a40 r9212f8a  
    2828
    2929USPACE_PREFIX = ../..
    30 LIBS = $(LIBDRV_PREFIX)/libdrv.a $(LIBUSB_PREFIX)/libusb.a
    31 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -I$(LIBUSB_PREFIX)/include -I.
     30
     31LIBS = \
     32        $(LIBUSBHID_PREFIX)/libusbhid.a \
     33        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     34        $(LIBUSB_PREFIX)/libusb.a \
     35        $(LIBDRV_PREFIX)/libdrv.a
     36EXTRA_CFLAGS += \
     37        -I$(LIBUSB_PREFIX)/include \
     38        -I$(LIBUSBDEV_PREFIX)/include \
     39        -I$(LIBUSBHID_PREFIX)/include \
     40        -I$(LIBDRV_PREFIX)/include
    3241
    3342BINARY = usbmouse
  • uspace/drv/vhc/Makefile

    rebf6a40 r9212f8a  
    2929USPACE_PREFIX = ../..
    3030LIBS = \
     31        $(LIBUSBDEV_PREFIX)/libusbdev.a \
     32        $(LIBUSBHOST_PREFIX)/libusbhost.a \
    3133        $(LIBUSB_PREFIX)/libusb.a \
    3234        $(LIBUSBVIRT_PREFIX)/libusbvirt.a \
     
    3436EXTRA_CFLAGS += \
    3537        -I$(LIBUSBVIRT_PREFIX)/include \
     38        -I$(LIBUSBDEV_PREFIX)/include \
     39        -I$(LIBUSBHOST_PREFIX)/include \
    3640        -I$(LIBUSB_PREFIX)/include \
    3741        -I$(LIBDRV_PREFIX)/include
  • uspace/lib/usb/Makefile

    rebf6a40 r9212f8a  
    2929USPACE_PREFIX = ../..
    3030LIBRARY = libusb
    31 LIBS = $(LIBDRV_PREFIX)/libdrv.a
    32 EXTRA_CFLAGS += -I$(LIBDRV_PREFIX)/include -Iinclude
     31EXTRA_CFLAGS += \
     32        -I$(LIBDRV_PREFIX)/include \
     33        -Iinclude
    3334
    3435SOURCES = \
    35         src/addrkeep.c \
    36         src/altiface.c \
    3736        src/class.c \
    3837        src/ddfiface.c \
    3938        src/debug.c \
    40         src/devdrv.c \
    41         src/devpoll.c \
    42         src/dp.c \
     39        src/driver.c \
    4340        src/dump.c \
    44         src/hidiface.c \
    45         src/hidpath.c \
    46         src/hidparser.c \
    47         src/hiddescriptor.c \
    4841        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
    6443
    6544include $(USPACE_PREFIX)/Makefile.common
  • uspace/lib/usb/include/usb/ddfiface.h

    rebf6a40 r9212f8a  
    3737
    3838#include <sys/types.h>
    39 #include <usb/usbdevice.h>
    4039#include <usb_iface.h>
    4140
  • uspace/lib/usb/include/usb/descriptor.h

    rebf6a40 r9212f8a  
    167167} __attribute__ ((packed)) usb_standard_endpoint_descriptor_t;
    168168
     169/** Part of standard USB HID descriptor specifying one class descriptor.
     170 *
     171 * (See HID Specification, p.22)
     172 */
     173typedef 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 */
     188typedef 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
    169211#endif
    170212/**
  • uspace/lib/usb/src/ddfiface.c

    rebf6a40 r9212f8a  
    3737#include <async.h>
    3838#include <usb/ddfiface.h>
     39#include <usb/driver.h>
    3940#include <usb/debug.h>
    4041#include <errno.h>
  • uspace/lib/usb/src/driver.c

    rebf6a40 r9212f8a  
    11/*
    2  * Copyright (c) 2010 Vojtech Horky
     2 * Copyright (c) 2011 Vojtech Horky
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    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>
    3239#include <errno.h>
    33 #include "../tester.h"
    34 
    35 #define MAX_ADDRESS 5
    3640
    3741
    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 */
     49int usb_hc_find(devman_handle_t device_handle, devman_handle_t *hc_handle)
    3950{
    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;
    5155        }
    5256
    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;
    5765        }
    5866
    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;
    6369        }
    6470
    65         return NULL;
     71        return EOK;
    6672}
     73
     74/**
     75 * @}
     76 */
  • uspace/lib/usb/src/dump.c

    rebf6a40 r9212f8a  
    4141#include <usb/descriptor.h>
    4242#include <usb/classes/classes.h>
    43 #include <usb/classes/hid.h>
    4443
    4544/** Mapping between descriptor id and dumping function. */
  • uspace/lib/usbdev/include/usb/usbdevice.h

    rebf6a40 r9212f8a  
    5050} usb_hc_connection_t;
    5151
    52 int usb_hc_find(devman_handle_t, devman_handle_t *);
    53 
    5452int usb_hc_connection_initialize_from_device(usb_hc_connection_t *,
    5553    ddf_dev_t *);
  • uspace/lib/usbdev/src/pipes.c

    rebf6a40 r9212f8a  
    3636#include <usb/pipes.h>
    3737#include <usb/debug.h>
     38#include <usb/driver.h>
    3839#include <usbhc_iface.h>
    3940#include <usb_iface.h>
  • uspace/lib/usbdev/src/usbdevice.c

    rebf6a40 r9212f8a  
    3737#include <usb_iface.h>
    3838#include <usb/usbdevice.h>
     39#include <usb/driver.h>
    3940#include <usb/debug.h>
    4041#include <errno.h>
    4142#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 controller
    47  *      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 }
    7543
    7644/** Initialize connection to USB host controller.
  • uspace/lib/usbhid/include/usb/classes/hid.h

    rebf6a40 r9212f8a  
    6969} usb_hid_iface_protocol_t;
    7070
    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 contain
    87  * the last two mandatory fields (type and length of the first class-specific
    88  * descriptor).
    89  */
    90 typedef struct {
    91         /** Total size of this descriptor in bytes.
    92          *
    93          * This includes all class-specific descriptor info - type + length
    94          * 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 
    11371
    11472#endif
  • uspace/lib/usbvirt/Makefile

    rebf6a40 r9212f8a  
    3030LIBRARY = libusbvirt
    3131
    32 EXTRA_CFLAGS = -I$(LIBUSB_PREFIX)/include -I$(LIBDRV_PREFIX)/include -Iinclude
     32EXTRA_CFLAGS = \
     33        -I$(LIBDRV_PREFIX)/include \
     34        -I$(LIBUSB_PREFIX)/include \
     35        -I$(LIBUSBDEV_PREFIX)/include \
     36        -Iinclude
    3337
    3438SOURCES = \
Note: See TracChangeset for help on using the changeset viewer.