Changeset 0816c2e in mainline for uspace/lib/usbhost/src/iface.c


Ignore:
Timestamp:
2013-01-04T11:22:10Z (12 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b4c1c95
Parents:
17bbb28
Message:

libusbhost: Add hcd endpoint manipulation wrappers

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usbhost/src/iface.c

    r17bbb28 r0816c2e  
    4242#include "ddf_helpers.h"
    4343
    44 /** Calls ep_add_hook upon endpoint registration.
    45  * @param ep Endpoint to be registered.
    46  * @param arg hcd_t in disguise.
    47  * @return Error code.
    48  */
    49 static int register_helper(endpoint_t *ep, void *arg)
    50 {
    51         hcd_t *hcd = arg;
    52         assert(ep);
    53         assert(hcd);
    54         if (hcd->ep_add_hook)
    55                 return hcd->ep_add_hook(hcd, ep);
    56         return EOK;
    57 }
    58 
    59 /** Calls ep_remove_hook upon endpoint removal.
    60  * @param ep Endpoint to be unregistered.
    61  * @param arg hcd_t in disguise.
    62  */
    63 static void unregister_helper(endpoint_t *ep, void *arg)
    64 {
    65         hcd_t *hcd = arg;
    66         assert(ep);
    67         assert(hcd);
    68         if (hcd->ep_remove_hook)
    69                 hcd->ep_remove_hook(hcd, ep);
    70 }
    71 
    7244/** Calls ep_remove_hook upon endpoint removal. Prints warning.
    7345 * @param ep Endpoint to be unregistered.
     
    181153        assert(hcd);
    182154        const size_t size = max_packet_size;
    183         usb_speed_t speed = USB_SPEED_MAX;
    184         const int ret = usb_device_manager_get_info_by_address(
    185             &hcd->dev_manager, address, NULL, &speed);
    186         if (ret != EOK) {
    187                 return ret;
    188         }
    189 
    190         usb_log_debug("Register endpoint %d:%d %s-%s %s %zuB %ums.\n",
     155        const usb_target_t target = {{.address = address, .endpoint = endpoint}};
     156       
     157        usb_log_debug("Register endpoint %d:%d %s-%s %zuB %ums.\n",
    191158            address, endpoint, usb_str_transfer_type(transfer_type),
    192             usb_str_direction(direction), usb_str_speed(speed),
    193             max_packet_size, interval);
    194 
    195         return usb_endpoint_manager_add_ep(&hcd->ep_manager, address, endpoint,
    196             direction, transfer_type, speed, max_packet_size, size,
    197             register_helper, hcd);
     159            usb_str_direction(direction), max_packet_size, interval);
     160
     161        return hcd_add_ep(hcd, target, direction, transfer_type,
     162            max_packet_size, size);
    198163}
    199164
     
    212177        hcd_t *hcd = dev_to_hcd(ddf_fun_get_dev(fun));
    213178        assert(hcd);
     179        const usb_target_t target = {{.address = address, .endpoint = endpoint}};
    214180        usb_log_debug("Unregister endpoint %d:%d %s.\n",
    215181            address, endpoint, usb_str_direction(direction));
    216         return usb_endpoint_manager_remove_ep(&hcd->ep_manager, address,
    217             endpoint, direction, unregister_helper, hcd);
     182        return hcd_remove_ep(hcd, target, direction);
    218183}
    219184
Note: See TracChangeset for help on using the changeset viewer.