Changeset deb2e55 in mainline for uspace/lib/usbhost


Ignore:
Timestamp:
2017-12-28T21:54:38Z (8 years ago)
Author:
Petr Manek <petr.manek@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
415c5116
Parents:
66c16b0
git-author:
Petr Manek <petr.manek@…> (2017-12-28 21:54:31)
git-committer:
Petr Manek <petr.manek@…> (2017-12-28 21:54:38)
Message:

usbhost: refactoring

Moved the "online" attribute from xhci_device_t to device_t. Changed
USB2 bus implementation to produce online devices (not to break
functionality on older buses).

Location:
uspace/lib/usbhost
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usbhost/include/usb/host/bus.h

    r66c16b0 rdeb2e55  
    7979        /* Managing bus */
    8080        bus_t *bus;
     81
     82        /** True if the device can add new endpoints and schedule transfers. */
     83        volatile bool online;
    8184
    8285        /* This structure is meant to be extended by overriding. */
  • uspace/lib/usbhost/src/endpoint.c

    r66c16b0 rdeb2e55  
    214214        }
    215215
     216        /* Offline devices don't schedule transfers other than on EP0. */
     217        if (!ep->device->online && ep->endpoint > 0) {
     218                return EAGAIN;
     219        }
     220
    216221        const size_t bw = endpoint_count_bw(ep, size);
    217222        /* Check if we have enough bandwidth reserved */
  • uspace/lib/usbhost/src/usb2_bus.c

    r66c16b0 rdeb2e55  
    271271        }
    272272
     273        /* From now on, the device is officially online, yay! */
     274        fibril_mutex_lock(&dev->guard);
     275        dev->online = true;
     276        fibril_mutex_unlock(&dev->guard);
     277
    273278        return EOK;
    274279
Note: See TracChangeset for help on using the changeset viewer.