Changeset 1e6dc5b in mainline


Ignore:
Timestamp:
2011-10-31T12:08:43Z (12 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1c1b577
Parents:
59c163c
Message:

libusb: Default get_address handler uses fun→driver_data structure.

Location:
uspace/lib/usb
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usb/Makefile

    r59c163c r1e6dc5b  
    3131EXTRA_CFLAGS += \
    3232        -I$(LIBDRV_PREFIX)/include \
     33        -I$(LIBUSBDEV_PREFIX)/include \
    3334        -Iinclude
    3435
  • uspace/lib/usb/include/usb/ddfiface.h

    r59c163c r1e6dc5b  
    4444extern usb_iface_t usb_iface_hub_impl;
    4545
    46 int usb_iface_get_address_set_my_handle_impl(ddf_fun_t *, devman_handle_t,
     46int usb_iface_get_address_from_device_data(ddf_fun_t *, devman_handle_t,
    4747    usb_address_t *);
    4848extern usb_iface_t usb_iface_hub_child_impl;
  • uspace/lib/usb/src/ddfiface.c

    r59c163c r1e6dc5b  
    3939#include <usb/hc.h>
    4040#include <usb/debug.h>
     41#include <usb/dev/hub.h>
    4142#include <errno.h>
    4243#include <assert.h>
     
    5152usb_iface_t  usb_iface_hub_child_impl = {
    5253        .get_hc_handle = usb_iface_get_hc_handle_device_impl,
    53         .get_address = usb_iface_get_address_set_my_handle_impl
     54        .get_address = usb_iface_get_address_from_device_data,
    5455};
    5556
     
    131132 * @return Error code.
    132133 */
    133 int usb_iface_get_address_set_my_handle_impl(ddf_fun_t *fun,
     134int usb_iface_get_address_from_device_data(ddf_fun_t *fun,
    134135    devman_handle_t handle, usb_address_t *address)
    135136{
    136         if (handle == 0) {
    137                 handle = fun->handle;
    138         }
    139         return usb_iface_get_address_forward_impl(fun, handle, address);
     137        assert(fun);
     138        assert(handle == 0);
     139        assert(fun->driver_data);
     140        usb_hub_attached_device_t *device = fun->driver_data;
     141        assert(device->fun == fun);
     142        if (address)
     143                *address = device->address;
     144        return EOK;
    140145}
    141146
Note: See TracChangeset for help on using the changeset viewer.