Changeset 41e645c in mainline for uspace/lib/drv/include/usbhc_iface.h


Ignore:
Timestamp:
2011-02-20T21:43:50Z (14 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
070f11e, ace12560
Parents:
423e8c81 (diff), 063ead6f (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:

Add simple USB multi interface device driver

The MID driver serves as a mini bus driver for devices with several
interfaces or for devices with classes defined at interface level.

The keyboard driver is working with this driver with the same problems
as before introduction of USB MID driver.

The merge also includes addition of bulk transfers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/drv/include/usbhc_iface.h

    r423e8c81 r41e645c  
    8585 */
    8686typedef enum {
    87         /** Tell USB address assigned to device.
    88          * Parameters:
    89          * - devman handle id
    90          * Answer:
    91          * - EINVAL - unknown handle or handle not managed by this driver
    92          * - ENOTSUP - operation not supported by HC (shall not happen)
    93          * - arbitrary error code if returned by remote implementation
    94          * - EOK - handle found, first parameter contains the USB address
    95          */
    96         IPC_M_USBHC_GET_ADDRESS,
    97 
    98 
    9987        /** Reserve usage of default address.
    10088         * This call informs the host controller that the caller will be
     
    153141        IPC_M_USBHC_INTERRUPT_IN,
    154142
     143        /** Send bulk data to device.
     144         * See explanation at usb_iface_funcs_t (OUT transaction).
     145         */
     146        IPC_M_USBHC_BULK_OUT,
     147
     148        /** Get bulk data from device.
     149         * See explanation at usb_iface_funcs_t (IN transaction).
     150         */
     151        IPC_M_USBHC_BULK_IN,
     152
    155153        /** Issue control WRITE transfer.
    156154         * See explanation at usb_iface_funcs_t (OUT transaction) for
     
    196194/** USB host controller communication interface. */
    197195typedef struct {
    198         int (*tell_address)(device_t *, devman_handle_t, usb_address_t *);
    199 
    200196        int (*reserve_default_address)(device_t *, usb_speed_t);
    201197        int (*release_default_address)(device_t *);
     
    207203        usbhc_iface_transfer_in_t interrupt_in;
    208204
     205        usbhc_iface_transfer_out_t bulk_out;
     206        usbhc_iface_transfer_in_t bulk_in;
     207
    209208        int (*control_write)(device_t *, usb_target_t,
    210209            size_t,
Note: See TracChangeset for help on using the changeset viewer.