Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/vhc/connhost.c

    rce687bbe ra39f4cf  
    3636#include <errno.h>
    3737#include <usb/usb.h>
     38#include <usb/hcd.h>
    3839
    3940#include "vhcd.h"
     
    5758                case USB_DIRECTION_IN:
    5859                        transfer->in_callback(transfer->dev,
    59                             size, outcome,
     60                            outcome, size,
    6061                            transfer->arg);
    6162                        break;
     
    9293    usbhc_iface_transfer_out_callback_t callback, void *arg)
    9394{
    94         printf(NAME ": transfer OUT [%d.%d (%s); %u]\n",
     95        dprintf(3, "transfer OUT [%d.%d (%s); %zu]",
    9596            target.address, target.endpoint,
    9697            usb_str_transfer_type(transfer_type),
     
    112113    usbhc_iface_transfer_out_callback_t callback, void *arg)
    113114{
    114         printf(NAME ": transfer SETUP [%d.%d (%s); %u]\n",
     115        dprintf(3, "transfer SETUP [%d.%d (%s); %zu]",
    115116            target.address, target.endpoint,
    116117            usb_str_transfer_type(transfer_type),
     
    132133    usbhc_iface_transfer_in_callback_t callback, void *arg)
    133134{
    134         printf(NAME ": transfer IN [%d.%d (%s); %u]\n",
     135        dprintf(3, "transfer IN [%d.%d (%s); %zu]",
    135136            target.address, target.endpoint,
    136137            usb_str_transfer_type(transfer_type),
     
    218219}
    219220
     221static usb_address_keeping_t addresses;
     222
     223
     224static int reserve_default_address(device_t *dev)
     225{
     226        usb_address_keeping_reserve_default(&addresses);
     227        return EOK;
     228}
     229
     230static int release_default_address(device_t *dev)
     231{
     232        usb_address_keeping_release_default(&addresses);
     233        return EOK;
     234}
     235
     236static int request_address(device_t *dev, usb_address_t *address)
     237{
     238        usb_address_t addr = usb_address_keeping_request(&addresses);
     239        if (addr < 0) {
     240                return (int)addr;
     241        }
     242
     243        *address = addr;
     244        return EOK;
     245}
     246
     247static int release_address(device_t *dev, usb_address_t address)
     248{
     249        return usb_address_keeping_release(&addresses, address);
     250}
     251
     252static int bind_address(device_t *dev, usb_address_t address,
     253    devman_handle_t handle)
     254{
     255        usb_address_keeping_devman_bind(&addresses, address, handle);
     256        return EOK;
     257}
     258
     259static int tell_address(device_t *dev, devman_handle_t handle,
     260    usb_address_t *address)
     261{
     262        usb_address_t addr = usb_address_keeping_find(&addresses, handle);
     263        if (addr < 0) {
     264                return addr;
     265        }
     266
     267        *address = addr;
     268        return EOK;
     269}
     270
     271void address_init(void)
     272{
     273        usb_address_keeping_init(&addresses, 50);
     274}
    220275
    221276usbhc_iface_t vhc_iface = {
Note: See TracChangeset for help on using the changeset viewer.