Changeset 15be932 in mainline


Ignore:
Timestamp:
2011-01-08T19:01:10Z (13 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b276c3b
Parents:
93fb170c
Message:

Begin work on usb identification

Add uhci_setup_sync function to support blocking calls

Location:
uspace/drv/uhci
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/uhci/Makefile

    r93fb170c r15be932  
    4040        uhci.c \
    4141        utils/fibril_semaphore.c \
    42         utils/hc_synchronizer.c
     42        utils/hc_synchronizer.c \
     43        utils/identify.c
    4344
    4445include $(USPACE_PREFIX)/Makefile.common
  • uspace/drv/uhci/utils/hc_synchronizer.c

    r93fb170c r15be932  
     1#include "debug.h"
    12#include "hc_synchronizer.h"
     3#include "uhci.h"
    24
    35void sync_init(sync_value_t *value)
     
    3133        fibril_semaphore_up(&value->done);
    3234}
     35/*----------------------------------------------------------------------------*/
     36int uhci_setup_sync(
     37  device_t *hc,
     38  usb_target_t target,
     39  usb_transfer_type_t type,
     40  void *buffer, size_t size,
     41  sync_value_t *result
     42  )
     43{
     44        assert(result);
     45        sync_init(result);
     46
     47        int ret =
     48          uhci_setup(hc, target, type, buffer, size,
     49                  sync_out_callback, (void*)result);
     50
     51        if (ret) {
     52                uhci_print_error("sync setup transaction failed(%d).\n", ret);
     53                return ret;
     54        }
     55
     56        uhci_print_verbose("setup transaction sent, waiting to complete.\n");
     57        sync_wait_for(result);
     58
     59        return ret;
     60}
  • uspace/drv/uhci/utils/hc_synchronizer.h

    r93fb170c r15be932  
    5959void sync_out_callback(
    6060  device_t *device, usb_transaction_outcome_t result, void *value);
     61
     62int uhci_setup_sync(
     63  device_t *hc,
     64  usb_target_t target,
     65  usb_transfer_type_t type,
     66  void *buffer, size_t size,
     67  sync_value_t *result
     68  );
    6169#endif
    6270/**
Note: See TracChangeset for help on using the changeset viewer.