Changeset 6832245 in mainline for uspace/drv/bus/usb/xhci/rh.c


Ignore:
Timestamp:
2017-12-14T23:01:57Z (6 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
837d53d
Parents:
bd05140
git-author:
Ondřej Hlavatý <aearsis@…> (2017-12-14 23:01:54)
git-committer:
Ondřej Hlavatý <aearsis@…> (2017-12-14 23:01:57)
Message:

usbhost bus: refactor the bus ops

This way, method names better represent the entity it is working with.
Their semantics was shifted a bit.

Regarding the tree of structures:

bus ← device ← endpoint ← batch

Previously, devices were kept in DDF function nodes, and endpoints had
pointer to the bus and device. Now, devices have pointer to bus,
endpoints don't.

Pointer to hcd_t in bus is WIP, and will be removed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/xhci/rh.c

    rbd05140 r6832245  
    7171        rh->hc_device = device;
    7272
    73         const int err = device_init(&rh->device.base);
     73        const int err = bus_device_init(&rh->device.base, &rh->hc->bus.base);
    7474        if (err)
    7575                return err;
     
    9494        xhci_bus_t *bus = &rh->hc->bus;
    9595
    96         device_t *dev = hcd_ddf_device_create(rh->hc_device, bus->base.device_size);
     96        device_t *dev = hcd_ddf_device_create(rh->hc_device, &bus->base);
    9797        if (!dev) {
    9898                usb_log_error("Failed to create USB device function.");
     
    109109        dev->speed = port_speed->usb_speed;
    110110
    111         if ((err = xhci_bus_enumerate_device(bus, rh->hc, dev))) {
     111        if ((err = xhci_bus_enumerate_device(bus, dev))) {
    112112                usb_log_error("Failed to enumerate USB device: %s", str_error(err));
    113113                return err;
     
    115115
    116116        if (!ddf_fun_get_name(dev->fun)) {
    117                 device_set_default_name(dev);
     117                bus_device_set_default_name(dev);
    118118        }
    119119
     
    196196
    197197        /* Remove device from XHCI bus. */
    198         if ((err = xhci_bus_remove_device(&rh->hc->bus, rh->hc, &dev->base))) {
     198        if ((err = xhci_bus_remove_device(&rh->hc->bus, &dev->base))) {
    199199                usb_log_warning("Failed to remove device " XHCI_DEV_FMT " from XHCI bus: %s",
    200200                    XHCI_DEV_ARGS(*dev), str_error(err));
Note: See TracChangeset for help on using the changeset viewer.