Changeset 32fb6bce in mainline for uspace/drv/bus/usb/ohci/hc.h
- Timestamp:
- 2017-12-18T22:50:21Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7f70d1c
- Parents:
- 1ea0bbf
- git-author:
- Ondřej Hlavatý <aearsis@…> (2017-12-18 22:04:50)
- git-committer:
- Ondřej Hlavatý <aearsis@…> (2017-12-18 22:50:21)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/ohci/hc.h
r1ea0bbf r32fb6bce 58 58 /** Main OHCI driver structure */ 59 59 typedef struct hc { 60 /** Common hcd header */ 61 hc_device_t base; 62 60 63 /** Memory mapped I/O registers area */ 61 64 ohci_regs_t *registers; … … 70 73 list_t pending_batches; 71 74 72 /** Fibril for periodic checks if interrupts can't be used */73 fid_t interrupt_emulator;74 75 75 /** Guards schedule and endpoint manipulation */ 76 76 fibril_mutex_t guard; 77 78 /** interrupts available */79 bool hw_interrupts;80 77 81 78 /** USB hub emulation structure */ … … 86 83 } hc_t; 87 84 88 extern int hc_init(hc_t *, const hw_res_list_parsed_t *); 89 extern void hc_gain_control(hc_t *instance); 90 extern void hc_start(hc_t *instance); 91 extern void hc_fini(hc_t *); 85 static inline hc_t * hcd_to_hc(hc_device_t *hcd) 86 { 87 assert(hcd); 88 return (hc_t *) hcd; 89 } 90 91 extern int hc_add(hc_device_t *, const hw_res_list_parsed_t *); 92 extern int hc_gen_irq_code(irq_code_t *, hc_device_t *, const hw_res_list_parsed_t *); 93 extern int hc_gain_control(hc_device_t *); 94 extern int hc_start(hc_device_t *); 95 extern int hc_gone(hc_device_t *); 92 96 93 97 extern void hc_enqueue_endpoint(hc_t *, const endpoint_t *); 94 98 extern void hc_dequeue_endpoint(hc_t *, const endpoint_t *); 95 99 96 int ohci_hc_gen_irq_code(irq_code_t *code, hcd_t *hcd, const hw_res_list_parsed_t *hw_res); 97 98 extern void ohci_hc_interrupt(hcd_t *, uint32_t); 99 extern int ohci_hc_status(hcd_t *, uint32_t *); 100 extern int ohci_hc_schedule(hcd_t *, usb_transfer_batch_t *); 100 extern int ohci_hc_schedule(usb_transfer_batch_t *); 101 extern int ohci_hc_status(bus_t *, uint32_t *); 102 extern void ohci_hc_interrupt(bus_t *, uint32_t); 101 103 102 104 #endif
Note:
See TracChangeset
for help on using the changeset viewer.