Changeset e26a9d95 in mainline for uspace/drv/bus/usb/uhci


Ignore:
Timestamp:
2014-01-18T17:14:42Z (12 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
3e200736
Parents:
19b3cc6
Message:

libusbhost: Add status hook.

Implement in UHCI, OHCI

Location:
uspace/drv/bus/usb/uhci
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/uhci/hc.c

    r19b3cc6 re26a9d95  
    412412}
    413413
     414int hc_status(hcd_t *hcd, uint32_t *status)
     415{
     416        assert(hcd);
     417        assert(status);
     418        hc_t *instance = hcd->driver.data;
     419        assert(instance);
     420
     421        *status = 0;
     422        if (instance->registers) {
     423                uint16_t s = pio_read_16(&instance->registers->usbsts);
     424                pio_write_16(&instance->registers->usbsts, s);
     425                *status = s;
     426        }
     427        return EOK;
     428}
     429
    414430/** Schedule batch for execution.
    415431 *
  • uspace/drv/bus/usb/uhci/hc.h

    r19b3cc6 re26a9d95  
    127127} hc_t;
    128128
    129 int hc_gen_irq_code(irq_code_t *code, const hw_res_list_parsed_t *hw_res);
    130 void hc_interrupt(hc_t *instance, uint16_t status);
    131129int hc_init(hc_t *instance, const hw_res_list_parsed_t *hw_res, bool interupts);
    132130void hc_fini(hc_t *instance);
     131int hc_gen_irq_code(irq_code_t *code, const hw_res_list_parsed_t *hw_res);
     132
     133void hc_interrupt(hc_t *instance, uint16_t status);
     134int hc_status(hcd_t *hcd, uint32_t *status);
    133135int hc_schedule(hcd_t *hcd, usb_transfer_batch_t *batch);
    134136
  • uspace/drv/bus/usb/uhci/main.c

    r19b3cc6 re26a9d95  
    6868        if (ret == EOK)
    6969                hcd_set_implementation(hcd, instance, hc_schedule, NULL, NULL,
    70                     uhci_interrupt);
     70                    uhci_interrupt, hc_status);
    7171        return ret;
    7272}
     
    7979
    8080        free(hcd->driver.data);
    81         hcd_set_implementation(hcd, NULL, NULL, NULL, NULL, NULL);
     81        hcd_set_implementation(hcd, NULL, NULL, NULL, NULL, NULL, NULL);
    8282}
    8383
Note: See TracChangeset for help on using the changeset viewer.