Changeset e50cd7f in mainline for uspace/drv/ohci/hc.h


Ignore:
Timestamp:
2011-04-17T19:17:55Z (14 years ago)
Author:
Matej Klonfar <maklf@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
63517c2, cfbbe1d3
Parents:
ef354b6 (diff), 8595577b (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:

new report structure fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/ohci/hc.h

    ref354b6 re50cd7f  
    4848#include "ohci_regs.h"
    4949#include "root_hub.h"
     50#include "endpoint_list.h"
    5051#include "hw_struct/hcca.h"
    5152
    5253typedef struct hc {
    5354        ohci_regs_t *registers;
     55        hcca_t *hcca;
     56
    5457        usb_address_t rh_address;
    5558        rh_t rh;
    56         ddf_fun_t *ddf_instance;
     59
     60        endpoint_list_t lists[4];
     61        link_t pending_batches;
     62
    5763        usb_device_keeper_t manager;
    5864        usb_endpoint_manager_t ep_manager;
    5965        fid_t interrupt_emulator;
     66        fibril_mutex_t guard;
    6067} hc_t;
    6168
     
    6572     uintptr_t regs, size_t reg_size, bool interrupts);
    6673
    67 int hc_schedule(hc_t *instance, usb_transfer_batch_t *batch);
    68 
    69 void hc_interrupt(hc_t *instance, uint32_t status);
    70 
    7174/** Safely dispose host controller internal structures
    7275 *
     
    7477 */
    7578static inline void hc_fini(hc_t *instance) { /* TODO: implement*/ };
     79
     80int hc_add_endpoint(hc_t *instance, usb_address_t address, usb_endpoint_t ep,
     81    usb_speed_t speed, usb_transfer_type_t type, usb_direction_t direction,
     82    size_t max_packet_size, size_t size, unsigned interval);
     83
     84int hc_remove_endpoint(hc_t *instance, usb_address_t address,
     85    usb_endpoint_t endpoint, usb_direction_t direction);
     86
     87endpoint_t * hc_get_endpoint(hc_t *instance, usb_address_t address,
     88    usb_endpoint_t endpoint, usb_direction_t direction, size_t *bw);
     89
     90int hc_schedule(hc_t *instance, usb_transfer_batch_t *batch);
     91
     92void hc_interrupt(hc_t *instance, uint32_t status);
    7693
    7794/** Get and cast pointer to the driver data
Note: See TracChangeset for help on using the changeset viewer.