Changeset b5f813c in mainline for uspace/lib/usbhost/include/usb/host/hcd.h
- Timestamp:
- 2015-07-04T03:28:02Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 55346870
- Parents:
- 2dbfe44
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/usbhost/include/usb/host/hcd.h
r2dbfe44 rb5f813c 55 55 56 56 typedef struct { 57 /** Device specific driver data. */58 void *data;59 57 /** Transfer scheduling, implement in device driver. */ 60 58 schedule_hook_t schedule; … … 67 65 /** Periodic polling hook */ 68 66 status_hook_t status_hook; 69 } hc _driver_t;67 } hcd_ops_t; 70 68 71 69 /** Generic host controller driver structure. */ … … 74 72 usb_bus_t bus; 75 73 76 /** Driver implementation */77 hc_driver_t driver;78 79 74 /** Interrupt replacement fibril */ 80 75 fid_t polling_fibril; 76 77 /** Driver implementation */ 78 hcd_ops_t ops; 79 /** Device specific driver data. */ 80 void * driver_data; 81 81 }; 82 82 … … 85 85 86 86 static inline void hcd_set_implementation(hcd_t *hcd, void *data, 87 schedule_hook_t schedule, ep_add_hook_t add_hook, ep_remove_hook_t rem_hook, 88 interrupt_hook_t irq_hook, status_hook_t status_hook) 87 const hcd_ops_t *ops) 89 88 { 90 89 assert(hcd); 91 hcd->driver.data = data; 92 hcd->driver.schedule = schedule; 93 hcd->driver.ep_add_hook = add_hook; 94 hcd->driver.ep_remove_hook = rem_hook; 95 hcd->driver.irq_hook = irq_hook; 96 hcd->driver.status_hook = status_hook; 90 if (ops) { 91 hcd->driver_data = data; 92 hcd->ops = *ops; 93 } else { 94 memset(&hcd->ops, 0, sizeof(hcd->ops)); 95 } 96 } 97 98 static inline void * hcd_get_driver_data(hcd_t *hcd) 99 { 100 assert(hcd); 101 return hcd->driver_data; 97 102 } 98 103
Note:
See TracChangeset
for help on using the changeset viewer.