Changeset 15d0046 in mainline for uspace/drv/bus/usb/uhci/uhci.c
- Timestamp:
- 2014-09-12T13:22:33Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9b20126
- Parents:
- 8db09e4 (diff), 105d8d6 (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/uhci/uhci.c
r8db09e4 r15d0046 34 34 */ 35 35 36 /* XXX Fix this */37 #define _DDF_DATA_IMPLANT38 39 36 #include <errno.h> 40 37 #include <stdbool.h> … … 62 59 hc_t hc; 63 60 /** Internal driver's representation of UHCI root hub */ 64 rh_t rh;61 rh_t *rh; 65 62 } uhci_t; 66 63 … … 72 69 /** IRQ handling callback, forward status from call to diver structure. 73 70 * 74 * @param[in] dev DDF instance of the device to use.75 71 * @param[in] iid (Unused). 76 72 * @param[in] call Pointer to the call from kernel. 77 */ 78 static void irq_handler(ddf_dev_t *dev, ipc_callid_t iid, ipc_call_t *call) 73 * @param[in] dev DDF instance of the device to use. 74 * 75 */ 76 static void irq_handler(ipc_callid_t iid, ipc_call_t *call, ddf_dev_t *dev) 79 77 { 80 78 assert(dev); 79 81 80 uhci_t *uhci = dev_to_uhci(dev); 82 81 if (!uhci) { … … 84 83 return; 85 84 } 85 86 86 const uint16_t status = IPC_GET_ARG1(*call); 87 87 hc_interrupt(&uhci->hc, status); … … 186 186 187 187 ddf_fun_set_ops(instance->hc_fun, &hc_ops); 188 ddf_fun_data_implant(instance->hc_fun, &instance->hc.generic);189 188 190 189 instance->rh_fun = ddf_fun_create(device, fun_inner, "uhci_rh"); … … 196 195 197 196 ddf_fun_set_ops(instance->rh_fun, &rh_ops); 198 ddf_fun_data_implant(instance->rh_fun, &instance->rh);197 instance->rh = ddf_fun_data_alloc(instance->rh_fun, sizeof(rh_t)); 199 198 200 199 addr_range_t regs; … … 236 235 } 237 236 238 rc = hc_init(&instance->hc, ®s, interrupts);237 rc = hc_init(&instance->hc, instance->hc_fun, ®s, interrupts); 239 238 if (rc != EOK) { 240 239 usb_log_error("Failed to init uhci_hcd: %s.\n", str_error(rc)); … … 260 259 } 261 260 262 rc = rh_init( &instance->rh, instance->rh_fun, ®s, 0x10, 4);261 rc = rh_init(instance->rh, instance->rh_fun, ®s, 0x10, 4); 263 262 if (rc != EOK) { 264 263 usb_log_error("Failed to setup UHCI root hub: %s.\n",
Note:
See TracChangeset
for help on using the changeset viewer.