Changeset 0206d35 in mainline for uspace/lib/usbhost/src/usb2_bus.c


Ignore:
Timestamp:
2017-10-25T00:03:57Z (7 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c3d926f
Parents:
56db65d
Message:

Moving things around to improve isolation of responsibilities

Bus interface was simplified, xHCI implementation of address_device was spread into stack of rh → bus → hc and back.

File:
1 edited

Legend:

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

    r56db65d r0206d35  
    120120        /* Add default pipe on default address */
    121121        usb_log_debug("Device(%d): Adding default target (0:0)", address);
    122         err = bus_add_ep(bus, dev, &usb2_default_control_ep);
     122
     123        endpoint_t *default_ep;
     124        err = bus_add_endpoint(bus, dev, &usb2_default_control_ep, &default_ep);
    123125        if (err != EOK) {
    124126                usb_log_error("Device(%d): Failed to add default target: %s.",
     
    169171        /* Register EP on the new address */
    170172        usb_log_debug("Device(%d): Registering control EP.", address);
    171         err = bus_add_ep(bus, dev, &control_ep);
     173        err = bus_add_endpoint(bus, dev, &control_ep, NULL);
    172174        if (err != EOK) {
    173175                usb_log_error("Device(%d): Failed to register EP0: %s",
     
    176178        }
    177179
    178         bus_remove_ep(bus, dev, usb2_default_target, USB_DIRECTION_BOTH);
     180        err = bus_remove_endpoint(bus, default_ep);
     181        assert(err == EOK);
     182        endpoint_del_ref(default_ep);
     183
     184        err = bus_release_address(bus, address);
     185        assert(err == EOK);
     186
    179187        return EOK;
    180188
    181189err_default_control_ep:
    182         bus_remove_ep(bus, dev, usb2_default_target, USB_DIRECTION_BOTH);
     190        bus_remove_endpoint(bus, default_ep);
     191        endpoint_del_ref(default_ep);
    183192err_address:
    184193        bus_release_address(bus, address);
Note: See TracChangeset for help on using the changeset viewer.