Ignore:
File:
1 edited

Legend:

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

    r6b6fc232 rcbd568b  
    3939#include <usb/host/hcd.h>
    4040
     41/** Prepare generic usb_transfer_batch and schedule it.
     42 * @param fun DDF fun
     43 * @param target address and endpoint number.
     44 * @param setup_data Data to use in setup stage (Control communication type)
     45 * @param in Callback for device to host communication.
     46 * @param out Callback for host to device communication.
     47 * @param arg Callback parameter.
     48 * @param name Communication identifier (for nicer output).
     49 * @return Error code.
     50 */
    4151static inline int send_batch(
    4252    ddf_fun_t *fun, usb_target_t target, usb_direction_t direction,
     
    8999}
    90100/*----------------------------------------------------------------------------*/
     101/** Calls ep_add_hook upon endpoint registration.
     102 * @param ep Endpoint to be registered.
     103 * @param arg hcd_t in disguise.
     104 * @return Error code.
     105 */
    91106static int register_helper(endpoint_t *ep, void *arg)
    92107{
     
    99114}
    100115/*----------------------------------------------------------------------------*/
     116/** Calls ep_remove_hook upon endpoint removal.
     117 * @param ep Endpoint to be unregistered.
     118 * @param arg hcd_t in disguise.
     119 */
    101120static void unregister_helper(endpoint_t *ep, void *arg)
    102121{
     
    108127}
    109128/*----------------------------------------------------------------------------*/
     129/** Calls ep_remove_hook upon endpoint removal. Prints warning.
     130 * @param ep Endpoint to be unregistered.
     131 * @param arg hcd_t in disguise.
     132 */
    110133static void unregister_helper_warn(endpoint_t *ep, void *arg)
    111134{
     
    119142}
    120143/*----------------------------------------------------------------------------*/
    121 /** Request address interface function
     144/** Request address interface function.
    122145 *
    123146 * @param[in] fun DDF function that was called.
     147 * @param[in] address Pointer to preferred USB address.
     148 * @param[out] address Place to write a new address.
     149 * @param[in] strict Fail if the preferred address is not available.
    124150 * @param[in] speed Speed to associate with the new default address.
    125  * @param[out] address Place to write a new address.
    126151 * @return Error code.
    127152 */
     
    140165}
    141166/*----------------------------------------------------------------------------*/
    142 /** Bind address interface function
     167/** Bind address interface function.
    143168 *
    144169 * @param[in] fun DDF function that was called.
     
    148173 */
    149174static int bind_address(
    150   ddf_fun_t *fun, usb_address_t address, devman_handle_t handle)
     175    ddf_fun_t *fun, usb_address_t address, devman_handle_t handle)
    151176{
    152177        assert(fun);
     
    176201}
    177202/*----------------------------------------------------------------------------*/
    178 /** Release address interface function
     203/** Release address interface function.
    179204 *
    180205 * @param[in] fun DDF function that was called.
     
    194219}
    195220/*----------------------------------------------------------------------------*/
     221/** Register endpoint interface function.
     222 * @param fun DDF function.
     223 * @param address USB address of the device.
     224 * @param endpoint USB endpoint number to be registered.
     225 * @param transfer_type Endpoint's transfer type.
     226 * @param direction USB communication direction the endpoint is capable of.
     227 * @param max_packet_size Maximu size of packets the endpoint accepts.
     228 * @param interval Preferred timeout between communication.
     229 * @return Error code.
     230 */
    196231static int register_endpoint(
    197232    ddf_fun_t *fun, usb_address_t address, usb_endpoint_t endpoint,
    198233    usb_transfer_type_t transfer_type, usb_direction_t direction,
    199     size_t max_packet_size, unsigned int interval)
     234    size_t max_packet_size, unsigned interval)
    200235{
    201236        assert(fun);
     
    220255}
    221256/*----------------------------------------------------------------------------*/
     257/** Unregister endpoint interface function.
     258 * @param fun DDF function.
     259 * @param address USB address of the endpoint.
     260 * @param endpoint USB endpoint number.
     261 * @param direction Communication direction of the enpdoint to unregister.
     262 * @return Error code.
     263 */
    222264static int unregister_endpoint(
    223265    ddf_fun_t *fun, usb_address_t address,
     
    233275}
    234276/*----------------------------------------------------------------------------*/
     277/** Inbound communication interface function.
     278 * @param fun DDF function.
     279 * @param target Communication target.
     280 * @param setup_data Data to use in setup stage (control transfers).
     281 * @param data Pointer to data buffer.
     282 * @param size Size of the data buffer.
     283 * @param callback Function to call on communication end.
     284 * @param arg Argument passed to the callback function.
     285 * @return Error code.
     286 */
    235287static int usb_read(ddf_fun_t *fun, usb_target_t target, uint64_t setup_data,
    236288    uint8_t *data, size_t size, usbhc_iface_transfer_in_callback_t callback,
     
    241293}
    242294/*----------------------------------------------------------------------------*/
     295/** Outbound communication interface function.
     296 * @param fun DDF function.
     297 * @param target Communication target.
     298 * @param setup_data Data to use in setup stage (control transfers).
     299 * @param data Pointer to data buffer.
     300 * @param size Size of the data buffer.
     301 * @param callback Function to call on communication end.
     302 * @param arg Argument passed to the callback function.
     303 * @return Error code.
     304 */
    243305static int usb_write(ddf_fun_t *fun, usb_target_t target, uint64_t setup_data,
    244306    const uint8_t *data, size_t size,
     
    249311}
    250312/*----------------------------------------------------------------------------*/
     313/** usbhc Interface implementation using hcd_t from libusbhost library. */
    251314usbhc_iface_t hcd_iface = {
    252315        .request_address = request_address,
    253316        .bind_address = bind_address,
    254         .find_by_address = find_by_address,
     317        .get_handle = find_by_address,
    255318        .release_address = release_address,
    256319
Note: See TracChangeset for help on using the changeset viewer.