Changeset 3e200736 in mainline for uspace/drv/bus/usb/ohci/hc.c
- Timestamp:
- 2014-01-18T21:34:32Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a5361fb
- Parents:
- e26a9d95
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/ohci/hc.c
re26a9d95 r3e200736 93 93 static int hc_init_transfer_lists(hc_t *instance); 94 94 static int hc_init_memory(hc_t *instance); 95 static int interrupt_emulator(hc_t *instance);96 95 97 96 /** Generate IRQ code. … … 182 181 183 182 hc_gain_control(instance); 184 185 if (!interrupts) {186 instance->interrupt_emulator =187 fibril_create((int(*)(void*))interrupt_emulator, instance);188 fibril_add_ready(instance->interrupt_emulator);189 }190 183 191 184 ohci_rh_init(&instance->rh, instance->registers, "ohci rh"); … … 280 273 assert(instance); 281 274 282 async_usleep(10000);283 275 if (instance->registers){ 284 276 *status = OHCI_RD(instance->registers->interrupt_status); … … 373 365 } 374 366 375 }376 377 /** Check status register regularly378 *379 * @param[in] instance OHCI hc driver structure.380 * @return Error code381 */382 int interrupt_emulator(hc_t *instance)383 {384 assert(instance);385 usb_log_info("Started interrupt emulator.\n");386 while (1) {387 const uint32_t status = instance->registers->interrupt_status;388 instance->registers->interrupt_status = status;389 hc_interrupt(instance, status);390 async_usleep(10000);391 }392 return EOK;393 367 } 394 368
Note:
See TracChangeset
for help on using the changeset viewer.