Changeset 867e6735 in mainline for uspace/lib/drv


Ignore:
Timestamp:
2011-02-18T19:55:39Z (15 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
228f251
Parents:
72363a1 (diff), b6c7da6 (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:

Merge development/ changes

Location:
uspace/lib/drv
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/drv/generic/remote_usbhc.c

    r72363a1 r867e6735  
    4040
    4141#define USB_MAX_PAYLOAD_SIZE 1020
     42#define HACK_MAX_PACKET_SIZE 8
     43#define HACK_MAX_PACKET_SIZE_INTERRUPT_IN 4
    4244
    4345static void remote_usbhc_get_address(device_t *, void *, ipc_callid_t, ipc_call_t *);
     
    163165                return;
    164166        }
    165 
    166         int rc = usb_iface->reserve_default_address(device);
     167       
     168        usb_speed_t speed = DEV_IPC_GET_ARG1(*call);
     169       
     170        int rc = usb_iface->reserve_default_address(device, speed);
    167171
    168172        async_answer_0(callid, rc);
     
    193197                return;
    194198        }
     199       
     200        usb_speed_t speed = DEV_IPC_GET_ARG1(*call);
    195201
    196202        usb_address_t address;
    197         int rc = usb_iface->request_address(device, &address);
     203        int rc = usb_iface->request_address(device, speed, &address);
    198204        if (rc != EOK) {
    199205                async_answer_0(callid, rc);
     
    322328        trans->size = len;
    323329
    324         int rc = transfer_func(device, target, buffer, len,
     330        int rc = transfer_func(device, target, HACK_MAX_PACKET_SIZE,
     331            buffer, len,
    325332            callback_out, trans);
    326333
     
    368375        trans->size = len;
    369376
    370         int rc = transfer_func(device, target, trans->buffer, len,
     377        int rc = transfer_func(device, target, HACK_MAX_PACKET_SIZE_INTERRUPT_IN,
     378            trans->buffer, len,
    371379            callback_in, trans);
    372380
     
    576584        trans->size = data_buffer_len;
    577585
    578         rc = usb_iface->control_write(device, target,
     586        rc = usb_iface->control_write(device, target, HACK_MAX_PACKET_SIZE,
    579587            setup_packet, setup_packet_len,
    580588            data_buffer, data_buffer_len,
     
    640648        }
    641649
    642         rc = usb_iface->control_read(device, target,
     650        rc = usb_iface->control_read(device, target, HACK_MAX_PACKET_SIZE,
    643651            setup_packet, setup_packet_len,
    644652            trans->buffer, trans->size,
  • uspace/lib/drv/include/usbhc_iface.h

    r72363a1 r867e6735  
    4040#include "driver.h"
    4141#include <usb/usb.h>
     42#include <bool.h>
    4243
    4344
     
    215216
    216217/** Out transfer processing function prototype. */
    217 typedef int (*usbhc_iface_transfer_out_t)(device_t *, usb_target_t,
     218typedef int (*usbhc_iface_transfer_out_t)(device_t *, usb_target_t, size_t,
    218219    void *, size_t,
    219220    usbhc_iface_transfer_out_callback_t, void *);
    220221
    221 /** Setup transfer processing function prototype. */
     222/** Setup transfer processing function prototype. @deprecated */
    222223typedef usbhc_iface_transfer_out_t usbhc_iface_transfer_setup_t;
    223224
    224225/** In transfer processing function prototype. */
    225 typedef int (*usbhc_iface_transfer_in_t)(device_t *, usb_target_t,
     226typedef int (*usbhc_iface_transfer_in_t)(device_t *, usb_target_t, size_t,
    226227    void *, size_t,
    227228    usbhc_iface_transfer_in_callback_t, void *);
     
    231232        int (*tell_address)(device_t *, devman_handle_t, usb_address_t *);
    232233
    233         int (*reserve_default_address)(device_t *);
     234        int (*reserve_default_address)(device_t *, usb_speed_t);
    234235        int (*release_default_address)(device_t *);
    235         int (*request_address)(device_t *, usb_address_t *);
     236        int (*request_address)(device_t *, usb_speed_t, usb_address_t *);
    236237        int (*bind_address)(device_t *, usb_address_t, devman_handle_t);
    237238        int (*release_address)(device_t *, usb_address_t);
     
    251252
    252253        int (*control_write)(device_t *, usb_target_t,
     254            size_t,
    253255            void *, size_t, void *, size_t,
    254256            usbhc_iface_transfer_out_callback_t, void *);
    255257
    256258        int (*control_read)(device_t *, usb_target_t,
     259            size_t,
    257260            void *, size_t, void *, size_t,
    258261            usbhc_iface_transfer_in_callback_t, void *);
Note: See TracChangeset for help on using the changeset viewer.