Changeset 7813516 in mainline for uspace/drv/bus/usb/uhci/hc.c
- Timestamp:
- 2014-01-01T01:19:10Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7191992
- Parents:
- d1df381
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/uhci/hc.c
rd1df381 r7813516 212 212 * interrupt fibrils. 213 213 */ 214 int hc_init(hc_t *instance, addr_range_t *regs, bool interrupts) 215 { 216 assert(instance); 217 assert(regs); 218 assert(regs->size >= sizeof(uhci_regs_t)); 214 int hc_init(hc_t *instance, const hw_res_list_parsed_t *hw_res, bool interrupts) 215 { 216 assert(instance); 217 assert(hw_res); 218 if (hw_res->io_ranges.count != 1 || 219 hw_res->io_ranges.ranges[0].size < sizeof(uhci_regs_t)) 220 return EINVAL; 219 221 220 222 instance->hw_interrupts = interrupts; … … 222 224 223 225 /* allow access to hc control registers */ 224 uhci_regs_t *io;225 int ret = pio_enable_range(regs, (void **) &io);226 int ret = pio_enable_range(&hw_res->io_ranges.ranges[0], 227 (void **) &instance->registers); 226 228 if (ret != EOK) { 227 usb_log_error("Failed to gain access to registers at %p: %s.\n",228 io,str_error(ret));229 usb_log_error("Failed to gain access to registers: %s.\n", 230 str_error(ret)); 229 231 return ret; 230 232 } 231 instance->registers = io; 232 233 usb_log_debug(234 "Device registers at %p (%zuB) accessible.\n", io, regs->size);233 234 usb_log_debug("Device registers at %" PRIx64 " (%zuB) accessible.\n", 235 hw_res->io_ranges.ranges[0].address.absolute, 236 hw_res->io_ranges.ranges[0].size); 235 237 236 238 ret = hc_init_mem_structures(instance); … … 253 255 254 256 return EOK; 257 } 258 259 /** Safely dispose host controller internal structures 260 * 261 * @param[in] instance Host controller structure to use. 262 */ 263 void hc_fini(hc_t *instance) 264 { 265 assert(instance); 266 //TODO Implement 255 267 } 256 268
Note:
See TracChangeset
for help on using the changeset viewer.