Ignore:
File:
1 edited

Legend:

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

    r7dfc06fa r357a302  
    4848        usbhc_iface_transfer_out_callback_t out_callback;
    4949        usbhc_iface_transfer_in_callback_t in_callback;
    50         ddf_fun_t *fun;
     50        device_t *dev;
    5151        size_t reported_size;
    5252        void *arg;
     
    5858        usbhc_iface_transfer_out_callback_t out_callback;
    5959        usbhc_iface_transfer_in_callback_t in_callback;
    60         ddf_fun_t *fun;
     60        device_t *dev;
    6161        void *arg;
    6262        void *data_buffer;
     
    7575        switch (transfer->direction) {
    7676                case USB_DIRECTION_IN:
    77                         transfer->in_callback(transfer->fun,
     77                        transfer->in_callback(transfer->dev,
    7878                            outcome, size,
    7979                            transfer->arg);
    8080                        break;
    8181                case USB_DIRECTION_OUT:
    82                         transfer->out_callback(transfer->fun,
     82                        transfer->out_callback(transfer->dev,
    8383                            outcome,
    8484                            transfer->arg);
     
    9292}
    9393
    94 static transfer_info_t *create_transfer_info(ddf_fun_t *fun,
     94static transfer_info_t *create_transfer_info(device_t *dev,
    9595    usb_direction_t direction, void *arg)
    9696{
     
    101101        transfer->out_callback = NULL;
    102102        transfer->arg = arg;
    103         transfer->fun = fun;
     103        transfer->dev = dev;
    104104        transfer->reported_size = (size_t) -1;
    105105
     
    112112        switch (transfer->direction) {
    113113                case USB_DIRECTION_IN:
    114                         transfer->in_callback(transfer->fun,
     114                        transfer->in_callback(transfer->dev,
    115115                            outcome, size,
    116116                            transfer->arg);
    117117                        break;
    118118                case USB_DIRECTION_OUT:
    119                         transfer->out_callback(transfer->fun,
     119                        transfer->out_callback(transfer->dev,
    120120                            outcome,
    121121                            transfer->arg);
     
    138138        }
    139139
    140         transfer_info_t *transfer  = create_transfer_info(ctrl_transfer->fun,
     140        transfer_info_t *transfer  = create_transfer_info(ctrl_transfer->dev,
    141141            ctrl_transfer->direction, ctrl_transfer->arg);
    142142        transfer->out_callback = ctrl_transfer->out_callback;
     
    195195}
    196196
    197 static control_transfer_info_t *create_control_transfer_info(ddf_fun_t *fun,
     197static control_transfer_info_t *create_control_transfer_info(device_t *dev,
    198198    usb_direction_t direction, usb_target_t target,
    199199    void *data_buffer, size_t data_buffer_size,
     
    208208        transfer->out_callback = NULL;
    209209        transfer->arg = arg;
    210         transfer->fun = fun;
     210        transfer->dev = dev;
    211211        transfer->data_buffer = data_buffer;
    212212        transfer->data_buffer_size = data_buffer_size;
     
    215215}
    216216
    217 static int enqueue_transfer_out(ddf_fun_t *fun,
     217static int enqueue_transfer_out(device_t *dev,
    218218    usb_target_t target, usb_transfer_type_t transfer_type,
    219219    void *buffer, size_t size,
     
    226226
    227227        transfer_info_t *transfer
    228             = create_transfer_info(fun, USB_DIRECTION_OUT, arg);
     228            = create_transfer_info(dev, USB_DIRECTION_OUT, arg);
    229229        transfer->out_callback = callback;
    230230
     
    235235}
    236236
    237 static int enqueue_transfer_in(ddf_fun_t *fun,
     237static int enqueue_transfer_in(device_t *dev,
    238238    usb_target_t target, usb_transfer_type_t transfer_type,
    239239    void *buffer, size_t size,
     
    246246
    247247        transfer_info_t *transfer
    248             = create_transfer_info(fun, USB_DIRECTION_IN, arg);
     248            = create_transfer_info(dev, USB_DIRECTION_IN, arg);
    249249        transfer->in_callback = callback;
    250250
     
    256256
    257257
    258 static int interrupt_out(ddf_fun_t *fun, usb_target_t target,
     258static int interrupt_out(device_t *dev, usb_target_t target,
     259    size_t max_packet_size,
    259260    void *data, size_t size,
    260261    usbhc_iface_transfer_out_callback_t callback, void *arg)
    261262{
    262         return enqueue_transfer_out(fun, target, USB_TRANSFER_INTERRUPT,
     263        return enqueue_transfer_out(dev, target, USB_TRANSFER_INTERRUPT,
    263264            data, size,
    264265            callback, arg);
    265266}
    266267
    267 static int interrupt_in(ddf_fun_t *fun, usb_target_t target,
     268static int interrupt_in(device_t *dev, usb_target_t target,
     269    size_t max_packet_size,
    268270    void *data, size_t size,
    269271    usbhc_iface_transfer_in_callback_t callback, void *arg)
    270272{
    271         return enqueue_transfer_in(fun, target, USB_TRANSFER_INTERRUPT,
     273        return enqueue_transfer_in(dev, target, USB_TRANSFER_INTERRUPT,
    272274            data, size,
    273275            callback, arg);
    274276}
    275277
    276 static int control_write(ddf_fun_t *fun, usb_target_t target,
     278static int control_write(device_t *dev, usb_target_t target,
     279    size_t max_packet_size,
    277280    void *setup_packet, size_t setup_packet_size,
    278281    void *data, size_t data_size,
     
    280283{
    281284        control_transfer_info_t *transfer
    282             = create_control_transfer_info(fun, USB_DIRECTION_OUT, target,
     285            = create_control_transfer_info(dev, USB_DIRECTION_OUT, target,
    283286            data, data_size, arg);
    284287        transfer->out_callback = callback;
     
    291294}
    292295
    293 static int control_read(ddf_fun_t *fun, usb_target_t target,
     296static int control_read(device_t *dev, usb_target_t target,
     297    size_t max_packet_size,
    294298    void *setup_packet, size_t setup_packet_size,
    295299    void *data, size_t data_size,
     
    297301{
    298302        control_transfer_info_t *transfer
    299             = create_control_transfer_info(fun, USB_DIRECTION_IN, target,
     303            = create_control_transfer_info(dev, USB_DIRECTION_IN, target,
    300304            data, data_size, arg);
    301305        transfer->in_callback = callback;
     
    310314static usb_address_keeping_t addresses;
    311315
    312 static int tell_address(ddf_fun_t *fun, devman_handle_t handle,
     316static int tell_address(device_t *dev, devman_handle_t handle,
    313317    usb_address_t *address)
    314318{
    315         usb_log_debug("tell_address(fun \"%s\", handle %zu)\n",
    316             fun->name, (size_t) fun->handle);
    317319        usb_address_t addr = usb_address_keeping_find(&addresses, handle);
    318320        if (addr < 0) {
     
    324326}
    325327
    326 static int reserve_default_address(ddf_fun_t *fun, usb_speed_t ignored)
     328static int reserve_default_address(device_t *dev, usb_speed_t ignored)
    327329{
    328330        usb_address_keeping_reserve_default(&addresses);
     
    330332}
    331333
    332 static int release_default_address(ddf_fun_t *fun)
     334static int release_default_address(device_t *dev)
    333335{
    334336        usb_address_keeping_release_default(&addresses);
     
    336338}
    337339
    338 static int request_address(ddf_fun_t *fun, usb_speed_t ignored,
     340static int request_address(device_t *dev, usb_speed_t ignored,
    339341    usb_address_t *address)
    340342{
     
    348350}
    349351
    350 static int release_address(ddf_fun_t *fun, usb_address_t address)
     352static int release_address(device_t *dev, usb_address_t address)
    351353{
    352354        return usb_address_keeping_release(&addresses, address);
    353355}
    354356
    355 static int bind_address(ddf_fun_t *fun, usb_address_t address,
     357static int bind_address(device_t *dev, usb_address_t address,
    356358    devman_handle_t handle)
    357359{
    358360        usb_address_keeping_devman_bind(&addresses, address, handle);
    359361        return EOK;
    360 }
    361 
    362 static int usb_iface_get_hc_handle_rh_impl(ddf_fun_t *root_hub_fun,
    363     devman_handle_t *handle)
    364 {
    365         ddf_fun_t *hc_fun = root_hub_fun->driver_data;
    366         assert(hc_fun != NULL);
    367 
    368         *handle = hc_fun->handle;
    369 
    370         usb_log_debug("usb_iface_get_hc_handle_rh_impl returns %zu\n", *handle);
    371 
    372         return EOK;
    373 }
    374 
    375 static int tell_address_rh(ddf_fun_t *root_hub_fun, devman_handle_t handle,
    376     usb_address_t *address)
    377 {
    378         ddf_fun_t *hc_fun = root_hub_fun->driver_data;
    379         assert(hc_fun != NULL);
    380 
    381         return tell_address(hc_fun, root_hub_fun->handle, address);
    382362}
    383363
     
    406386};
    407387
    408 usb_iface_t rh_usb_iface = {
    409         .get_hc_handle = usb_iface_get_hc_handle_rh_impl,
    410         .get_address = tell_address_rh
    411 };
    412 
    413388
    414389/**
Note: See TracChangeset for help on using the changeset viewer.