Changes in uspace/drv/bus/usb/ohci/hc.h [b5111c46:58563585] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/ohci/hc.h
rb5111c46 r58563585 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 28 29 /** @addtogroup drvusbohci 29 30 * @{ … … 32 33 * @brief OHCI host controller driver structure 33 34 */ 35 34 36 #ifndef DRV_OHCI_HC_H 35 37 #define DRV_OHCI_HC_H 36 38 39 #include <adt/list.h> 40 #include <ddi.h> 37 41 #include <ddf/driver.h> 38 #include <d df/interrupt.h>42 #include <device/hw_res_parsed.h> 39 43 #include <fibril.h> 40 44 #include <fibril_synch.h> 41 #include < adt/list.h>42 #include < ddi.h>45 #include <stdbool.h> 46 #include <sys/types.h> 43 47 44 #include <usb/usb.h>45 48 #include <usb/host/hcd.h> 49 #include <usb/host/endpoint.h> 50 #include <usb/host/usb_transfer_batch.h> 46 51 47 #include "ohci_batch.h"48 52 #include "ohci_regs.h" 49 #include " root_hub.h"53 #include "ohci_rh.h" 50 54 #include "endpoint_list.h" 51 55 #include "hw_struct/hcca.h" … … 53 57 /** Main OHCI driver structure */ 54 58 typedef struct hc { 55 /** Generic USB hc driver */56 hcd_t *generic;57 58 59 /** Memory mapped I/O registers area */ 59 60 ohci_regs_t *registers; … … 72 73 fibril_mutex_t guard; 73 74 75 /** interrupts available */ 76 bool hw_interrupts; 77 74 78 /** USB hub emulation structure */ 75 rh_t rh;79 ohci_rh_t rh; 76 80 } hc_t; 77 81 78 int hc_get_irq_code(irq_pio_range_t [], size_t, irq_cmd_t [], size_t, 79 addr_range_t *); 80 int hc_register_irq_handler(ddf_dev_t *, addr_range_t *, int, 81 interrupt_handler_t); 82 int hc_register_hub(hc_t *, ddf_fun_t *); 83 int hc_init(hc_t *, ddf_fun_t *, addr_range_t *, bool); 82 extern int hc_init(hc_t *, const hw_res_list_parsed_t *, bool); 83 extern void hc_fini(hc_t *); 84 84 85 /** Safely dispose host controller internal structures 86 * 87 * @param[in] instance Host controller structure to use. 88 */ 89 static inline void hc_fini(hc_t *instance) { /* TODO: implement*/ }; 85 extern void hc_enqueue_endpoint(hc_t *, const endpoint_t *); 86 extern void hc_dequeue_endpoint(hc_t *, const endpoint_t *); 90 87 91 void hc_enqueue_endpoint(hc_t *instance, const endpoint_t *ep); 92 void hc_dequeue_endpoint(hc_t *instance, const endpoint_t *ep); 88 int ohci_hc_gen_irq_code(irq_code_t *code, const hw_res_list_parsed_t *hw_res); 93 89 94 void hc_interrupt(hc_t *instance, uint32_t status); 90 extern void ohci_hc_interrupt(hcd_t *, uint32_t); 91 extern int ohci_hc_status(hcd_t *, uint32_t *); 92 extern int ohci_hc_schedule(hcd_t *, usb_transfer_batch_t *); 93 95 94 #endif 95 96 96 /** 97 97 * @}
Note:
See TracChangeset
for help on using the changeset viewer.