Ignore:
File:
1 edited

Legend:

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

    rfccf289 r920d0fc  
    3333 * Main routines of OHCI driver.
    3434 */
    35 
    36 #include <assert.h>
    3735#include <ddf/driver.h>
    3836#include <errno.h>
    39 #include <io/log.h>
    4037#include <str_error.h>
    4138
    4239#include <usb/debug.h>
    43 #include <usb/host/ddf_helpers.h>
    4440
    45 #include "hc.h"
     41#include "ohci.h"
    4642
    4743#define NAME "ohci"
    48 
    49 static int ohci_driver_init(hcd_t *hcd, const hw_res_list_parsed_t *res, bool irq)
    50 {
    51         assert(hcd);
    52         assert(hcd->driver.data == NULL);
    53 
    54         hc_t *instance = malloc(sizeof(hc_t));
    55         if (!instance)
    56                 return ENOMEM;
    57 
    58         const int ret =  hc_init(instance, res, irq);
    59         if (ret == EOK)
    60                 hcd_set_implementation(hcd, instance, ohci_hc_schedule,
    61                     ohci_endpoint_init, ohci_endpoint_fini, ohci_hc_interrupt,
    62                     ohci_hc_status);
    63         return ret;
    64 }
    65 
    66 static void ohci_driver_fini(hcd_t *hcd)
    67 {
    68         assert(hcd);
    69         if (hcd->driver.data)
    70                 hc_fini(hcd->driver.data);
    71 
    72         free(hcd->driver.data);
    73         hcd_set_implementation(hcd, NULL, NULL, NULL, NULL, NULL, NULL);
    74 }
    7544
    7645/** Initializes a new ddf driver instance of OHCI hcd.
     
    8453        assert(device);
    8554
    86         const int ret = ddf_hcd_device_setup_all(device, USB_SPEED_FULL,
    87             BANDWIDTH_AVAILABLE_USB11, bandwidth_count_usb11,
    88             ddf_hcd_gen_irq_handler, ohci_hc_gen_irq_code,
    89             ohci_driver_init, ohci_driver_fini);
     55        int ret = device_setup_ohci(device);
    9056        if (ret != EOK) {
    9157                usb_log_error("Failed to initialize OHCI driver: %s.\n",
    9258                    str_error(ret));
     59                return ret;
    9360        }
    94         usb_log_info("Controlling new OHCI device '%s'.\n",
    95             ddf_dev_get_name(device));
     61        usb_log_info("Controlling new OHCI device '%s'.\n", ddf_dev_get_name(device));
    9662
    97         return ret;
     63        return EOK;
    9864}
    9965
    100 static const driver_ops_t ohci_driver_ops = {
     66static driver_ops_t ohci_driver_ops = {
    10167        .dev_add = ohci_dev_add,
    10268};
    10369
    104 static const driver_t ohci_driver = {
     70static driver_t ohci_driver = {
    10571        .name = NAME,
    10672        .driver_ops = &ohci_driver_ops
Note: See TracChangeset for help on using the changeset viewer.