Changes in uspace/drv/bus/usb/uhci/uhci.c [5b89d43b:c53007f] in mainline
- File:
-
- 1 edited
-
uspace/drv/bus/usb/uhci/uhci.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/uhci/uhci.c
r5b89d43b rc53007f 132 132 }; 133 133 134 static pio_window_t *get_pio_window(ddf_fun_t *fun)135 {136 rh_t *rh = ddf_fun_data_get(fun);137 138 if (rh == NULL)139 return NULL;140 return &rh->pio_window;141 }142 143 static pio_window_ops_t pio_window_iface = {144 .get_pio_window = get_pio_window145 };146 147 134 /** RH function support for uhci_rhd */ 148 135 static ddf_dev_ops_t rh_ops = { 149 136 .interfaces[USB_DEV_IFACE] = &usb_iface, 150 .interfaces[HW_RES_DEV_IFACE] = &hw_res_iface, 151 .interfaces[PIO_WINDOW_DEV_IFACE] = &pio_window_iface 137 .interfaces[HW_RES_DEV_IFACE] = &hw_res_iface 152 138 }; 153 139 … … 198 184 ddf_fun_data_implant(instance->rh_fun, &instance->rh); 199 185 200 addr_range_t regs; 186 uintptr_t reg_base = 0; 187 size_t reg_size = 0; 201 188 int irq = 0; 202 189 203 rc = get_my_registers(device, ® s, &irq);190 rc = get_my_registers(device, ®_base, ®_size, &irq); 204 191 if (rc != EOK) { 205 192 usb_log_error("Failed to get I/O addresses for %" PRIun ": %s.\n", … … 207 194 goto error; 208 195 } 209 usb_log_debug("I/O regs at %p (size %zu), IRQ %d.\n",210 RNGABSPTR(regs), RNGSZ(regs), irq);196 usb_log_debug("I/O regs at 0x%p (size %zu), IRQ %d.\n", 197 (void *) reg_base, reg_size, irq); 211 198 212 199 rc = disable_legacy(device); … … 217 204 } 218 205 219 rc = hc_register_irq_handler(device, ®s, irq, irq_handler);206 rc = hc_register_irq_handler(device, reg_base, reg_size, irq, irq_handler); 220 207 if (rc != EOK) { 221 208 usb_log_error("Failed to register interrupt handler: %s.\n", … … 236 223 } 237 224 238 rc = hc_init(&instance->hc, ®s, interrupts);225 rc = hc_init(&instance->hc, (void*)reg_base, reg_size, interrupts); 239 226 if (rc != EOK) { 240 227 usb_log_error("Failed to init uhci_hcd: %s.\n", str_error(rc)); … … 260 247 } 261 248 262 rc = rh_init(&instance->rh, instance->rh_fun, ®s, 0x10, 4); 249 rc = rh_init(&instance->rh, instance->rh_fun, 250 (uintptr_t)instance->hc.registers + 0x10, 4); 263 251 if (rc != EOK) { 264 252 usb_log_error("Failed to setup UHCI root hub: %s.\n",
Note:
See TracChangeset
for help on using the changeset viewer.
