Changeset 651b352 in mainline for uspace/lib/usb/include


Ignore:
Timestamp:
2011-04-13T15:00:43Z (15 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8b4ce802
Parents:
4deca9b (diff), d6522dd (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:

Major rework

UHCI uses one buffer for both structures and data
OHCI uses new architecture that actually follows OHCI specification

Location:
uspace/lib/usb/include/usb/host
Files:
2 edited

Legend:

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

    r4deca9b r651b352  
    5858        ddf_fun_t *fun;
    5959        void *private_data;
     60        void (*private_data_dtor)(void *p_data);
    6061};
    6162
    6263void usb_transfer_batch_init(
    6364    usb_transfer_batch_t *instance,
    64                 endpoint_t *ep,
     65    endpoint_t *ep,
    6566    char *buffer,
    6667    char *data_buffer,
     
    7273    void *arg,
    7374    ddf_fun_t *fun,
    74     void *private_data
     75    void *private_data,
     76    void (*private_data_dtor)(void *p_data)
    7577);
    7678
    77 static inline usb_transfer_batch_t *usb_transfer_batch_from_link(link_t *l)
    78 {
    79         assert(l);
    80         return list_get_instance(l, usb_transfer_batch_t, link);
    81 }
    82 
    83 void usb_transfer_batch_call_in(usb_transfer_batch_t *instance);
    84 void usb_transfer_batch_call_out(usb_transfer_batch_t *instance);
     79void usb_transfer_batch_call_in_and_dispose(usb_transfer_batch_t *instance);
     80void usb_transfer_batch_call_out_and_dispose(usb_transfer_batch_t *instance);
    8581void usb_transfer_batch_finish(usb_transfer_batch_t *instance);
     82void usb_transfer_batch_dispose(usb_transfer_batch_t *instance);
    8683
    8784static inline void usb_transfer_batch_finish_error(
     
    9390}
    9491
     92static inline usb_transfer_batch_t *usb_transfer_batch_from_link(link_t *l)
     93{
     94        assert(l);
     95        return list_get_instance(l, usb_transfer_batch_t, link);
     96}
     97
    9598#endif
    9699/**
  • uspace/lib/usb/include/usb/host/endpoint.h

    r4deca9b r651b352  
    5454        fibril_condvar_t avail;
    5555        volatile bool active;
     56        struct {
     57                void *data;
     58                int (*toggle_get)(void *);
     59                void (*toggle_set)(void *, int);
     60        } hc_data;
    5661} endpoint_t;
    5762
     
    6166
    6267void endpoint_destroy(endpoint_t *instance);
     68
     69void endpoint_set_hc_data(endpoint_t *instance,
     70    void *data, int (*toggle_get)(void *), void (*toggle_set)(void *, int));
     71
     72void endpoint_clear_hc_data(endpoint_t *instance);
    6373
    6474void endpoint_use(endpoint_t *instance);
Note: See TracChangeset for help on using the changeset viewer.