Ignore:
File:
1 edited

Legend:

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

    rb36e5de2 rec59693  
    234234}
    235235
     236static int enqueue_transfer_setup(device_t *dev,
     237    usb_target_t target, usb_transfer_type_t transfer_type,
     238    void *buffer, size_t size,
     239    usbhc_iface_transfer_out_callback_t callback, void *arg)
     240{
     241        usb_log_debug2("Transfer SETUP [%d.%d (%s); %zu].\n",
     242            target.address, target.endpoint,
     243            usb_str_transfer_type(transfer_type),
     244            size);
     245
     246        transfer_info_t *transfer
     247            = create_transfer_info(dev, USB_DIRECTION_OUT, arg);
     248        transfer->out_callback = callback;
     249
     250        hc_add_transaction_to_device(true, target, transfer_type, buffer, size,
     251            universal_callback, transfer);
     252
     253        return EOK;
     254}
     255
    236256static int enqueue_transfer_in(device_t *dev,
    237257    usb_target_t target, usb_transfer_type_t transfer_type,
     
    275295}
    276296
     297static int control_write_setup(device_t *dev, usb_target_t target,
     298    size_t max_packet_size,
     299    void *data, size_t size,
     300    usbhc_iface_transfer_out_callback_t callback, void *arg)
     301{
     302        return enqueue_transfer_setup(dev, target, USB_TRANSFER_CONTROL,
     303            data, size,
     304            callback, arg);
     305}
     306
     307static int control_write_data(device_t *dev, usb_target_t target,
     308    size_t max_packet_size,
     309    void *data, size_t size,
     310    usbhc_iface_transfer_out_callback_t callback, void *arg)
     311{
     312        return enqueue_transfer_out(dev, target, USB_TRANSFER_CONTROL,
     313            data, size,
     314            callback, arg);
     315}
     316
     317static int control_write_status(device_t *dev, usb_target_t target,
     318    usbhc_iface_transfer_in_callback_t callback, void *arg)
     319{
     320        return enqueue_transfer_in(dev, target, USB_TRANSFER_CONTROL,
     321            NULL, 0,
     322            callback, arg);
     323}
     324
    277325static int control_write(device_t *dev, usb_target_t target,
    278326    size_t max_packet_size,
     
    293341}
    294342
     343static int control_read_setup(device_t *dev, usb_target_t target,
     344    size_t max_packet_size,
     345    void *data, size_t size,
     346    usbhc_iface_transfer_out_callback_t callback, void *arg)
     347{
     348        return enqueue_transfer_setup(dev, target, USB_TRANSFER_CONTROL,
     349            data, size,
     350            callback, arg);
     351}
     352
     353static int control_read_data(device_t *dev, usb_target_t target,
     354    size_t max_packet_size,
     355    void *data, size_t size,
     356    usbhc_iface_transfer_in_callback_t callback, void *arg)
     357{
     358        return enqueue_transfer_in(dev, target, USB_TRANSFER_CONTROL,
     359            data, size,
     360            callback, arg);
     361}
     362
     363static int control_read_status(device_t *dev, usb_target_t target,
     364    usbhc_iface_transfer_out_callback_t callback, void *arg)
     365{
     366        return enqueue_transfer_out(dev, target, USB_TRANSFER_CONTROL,
     367            NULL, 0,
     368            callback, arg);
     369}
     370
    295371static int control_read(device_t *dev, usb_target_t target,
    296372    size_t max_packet_size,
     
    314390
    315391
    316 static int reserve_default_address(device_t *dev, usb_speed_t ignored)
     392static int reserve_default_address(device_t *dev)
    317393{
    318394        usb_address_keeping_reserve_default(&addresses);
     
    326402}
    327403
    328 static int request_address(device_t *dev, usb_speed_t ignored,
    329     usb_address_t *address)
     404static int request_address(device_t *dev, usb_address_t *address)
    330405{
    331406        usb_address_t addr = usb_address_keeping_request(&addresses);
     
    379454        .interrupt_in = interrupt_in,
    380455
     456        .control_write_setup = control_write_setup,
     457        .control_write_data = control_write_data,
     458        .control_write_status = control_write_status,
     459
    381460        .control_write = control_write,
     461
     462        .control_read_setup = control_read_setup,
     463        .control_read_data = control_read_data,
     464        .control_read_status = control_read_status,
     465
    382466        .control_read = control_read
    383467};
Note: See TracChangeset for help on using the changeset viewer.