Changes in uspace/drv/bus/usb/ohci/main.c [a25d893:920d0fc] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/ohci/main.c
ra25d893 r920d0fc 33 33 * Main routines of OHCI driver. 34 34 */ 35 36 #include <assert.h>37 35 #include <ddf/driver.h> 38 36 #include <errno.h> 39 #include <io/log.h>40 37 #include <str_error.h> 41 38 42 39 #include <usb/debug.h> 43 #include <usb/host/ddf_helpers.h>44 40 45 #include " hc.h"41 #include "ohci.h" 46 42 47 43 #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 }75 44 76 45 /** Initializes a new ddf driver instance of OHCI hcd. … … 84 53 assert(device); 85 54 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); 90 56 if (ret != EOK) { 91 57 usb_log_error("Failed to initialize OHCI driver: %s.\n", 92 58 str_error(ret)); 59 return ret; 93 60 } 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)); 96 62 97 return ret;63 return EOK; 98 64 } 99 65 100 static constdriver_ops_t ohci_driver_ops = {66 static driver_ops_t ohci_driver_ops = { 101 67 .dev_add = ohci_dev_add, 102 68 }; 103 69 104 static constdriver_t ohci_driver = {70 static driver_t ohci_driver = { 105 71 .name = NAME, 106 72 .driver_ops = &ohci_driver_ops
Note:
See TracChangeset
for help on using the changeset viewer.