Changeset 3f03199 in mainline for uspace/lib/usbhost/src


Ignore:
Timestamp:
2013-09-15T06:33:53Z (12 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9348862
Parents:
dd7078c (diff), 1c0cef0 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

Major conflicts in USB HC drivers.
Compiles and UHCI works (qemu).
OHCI has device remove problems.

Location:
uspace/lib/usbhost/src
Files:
2 edited

Legend:

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

    rdd7078c r3f03199  
    335335
    336336        ddf_fun_set_ops(fun, &usb_ops);
    337         list_foreach(mids->ids, iter) {
    338                 match_id_t *mid = list_get_instance(iter, match_id_t, link);
     337        list_foreach(mids->ids, link, const match_id_t, mid) {
    339338                ddf_fun_add_match_id(fun, mid->id, mid->score);
    340339        }
     
    422421        usb_dev_t *victim = NULL;
    423422
    424         list_foreach(hub->devices, it) {
    425                 victim = list_get_instance(it, usb_dev_t, link);
    426                 if (victim->port == port)
     423        list_foreach(hub->devices, link, usb_dev_t, it) {
     424                if (it->port == port) {
     425                        victim = it;
    427426                        break;
     427                }
    428428        }
    429429        if (victim && victim->port == port) {
  • uspace/lib/usbhost/src/usb_endpoint_manager.c

    rdd7078c r3f03199  
    9191        if (address < 0)
    9292                return NULL;
    93         list_foreach(*get_list(instance, address), iterator) {
    94                 endpoint_t *ep = endpoint_get_instance(iterator);
     93        list_foreach(*get_list(instance, address), link, endpoint_t, ep) {
    9594                if (ep_match(ep, address, endpoint, direction))
    9695                        return ep;
     
    384383
    385384        fibril_mutex_lock(&instance->guard);
    386         list_foreach(*get_list(instance, target.address), it) {
    387                 endpoint_t *ep = endpoint_get_instance(it);
     385        list_foreach(*get_list(instance, target.address), link, endpoint_t, ep) {
    388386                if ((ep->address == target.address)
    389387                    && (all || ep->endpoint == target.endpoint)) {
     
    417415        instance->devices[address].occupied = false;
    418416
    419         list_foreach(*get_list(instance, address), iterator) {
    420                 endpoint_t *ep = endpoint_get_instance(iterator);
     417        list_t *list = get_list(instance, address);
     418        for (link_t *link = list_first(list); link != NULL; ) {
     419                endpoint_t *ep = list_get_instance(link, endpoint_t, link);
     420                link = list_next(link, list);
    421421                if (ep->address == address) {
    422                         iterator = iterator->next;
    423422                        list_remove(&ep->link);
    424423                        if (callback)
Note: See TracChangeset for help on using the changeset viewer.