Changeset fc0271a5 in mainline for uspace/drv/bus/usb/uhci/main.c


Ignore:
Timestamp:
2017-10-12T16:06:37Z (7 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f9d787c
Parents:
d0db4a0
Message:

WIP usbhost refactoring: uhci converted

File:
1 edited

Legend:

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

    rd0db4a0 rfc0271a5  
    4545#include <usb/debug.h>
    4646#include <usb/host/ddf_helpers.h>
     47#include <usb/host/bandwidth.h>
    4748
    4849#include "hc.h"
     
    5758static const ddf_hc_driver_t uhci_hc_driver = {
    5859        .claim = disable_legacy,
    59         .hc_speed = USB_SPEED_FULL,
    6060        .irq_code_gen = uhci_hc_gen_irq_code,
    6161        .init = uhci_driver_init,
     
    7272static int uhci_driver_init(hcd_t *hcd, const hw_res_list_parsed_t *res)
    7373{
     74        int err;
     75
    7476        assert(hcd);
    7577        assert(hcd_get_driver_data(hcd) == NULL);
     
    7981                return ENOMEM;
    8082
    81         const int ret = hc_init(instance, res);
    82         if (ret == EOK) {
    83                 hcd_set_implementation(hcd, instance, &uhci_hc_driver.ops);
    84         } else {
    85                 free(instance);
    86         }
    87         return ret;
     83        if ((err = hc_init(instance, res)) != EOK)
     84                goto err;
     85
     86        if ((err = usb2_bus_init(&instance->bus, hcd, BANDWIDTH_AVAILABLE_USB11, bandwidth_count_usb11)))
     87                goto err;
     88
     89        hcd_set_implementation(hcd, instance, &uhci_hc_driver.ops, &instance->bus.base);
     90
     91        return EOK;
     92
     93err:
     94        free(instance);
     95        return err;
    8896}
    8997
     
    105113                hc_fini(hc);
    106114
    107         hcd_set_implementation(hcd, NULL, NULL);
     115        hcd_set_implementation(hcd, NULL, NULL, NULL);
    108116        free(hc);
    109117}
Note: See TracChangeset for help on using the changeset viewer.