Changeset 400575c5 in mainline for uspace/drv/uhci-hcd
- Timestamp:
- 2011-02-04T17:19:20Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/fix-logger-deadlock, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e29e09cf, e778543
- Parents:
- 458e40c (diff), 89acf204 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- uspace/drv/uhci-hcd
- Files:
-
- 16 added
- 5 moved
-
Makefile (added)
-
callback.c (added)
-
callback.h (added)
-
iface.c (added)
-
iface.h (added)
-
main.c (moved) (moved from uspace/drv/uhci/main.c ) (5 diffs)
-
pci.c (moved) (moved from uspace/drv/uhci/pci.c ) (2 diffs)
-
pci.h (moved) (moved from uspace/drv/uhci/uhci.h ) (2 diffs)
-
root_hub.c (added)
-
root_hub.h (added)
-
transfer_list.c (added)
-
transfer_list.h (added)
-
transfers.c (moved) (moved from uspace/drv/uhci/transfers.c )
-
uhci-hcd.ma (moved) (moved from uspace/drv/uhci/uhci.ma )
-
uhci.c (added)
-
uhci.h (added)
-
uhci_struct/link_pointer.h (added)
-
uhci_struct/queue_head.h (added)
-
uhci_struct/transfer_descriptor.c (added)
-
uhci_struct/transfer_descriptor.h (added)
-
utils/malloc32.h (added)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci-hcd/main.c
r458e40c r400575c5 1 1 /* 2 * Copyright (c) 201 0 Vojtech Horky2 * Copyright (c) 2011 Vojtech Horky, Jan Vesely 3 3 * All rights reserved. 4 4 * … … 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 #include <usb/hcdhubd.h> 28 /** @addtogroup usb 29 * @{ 30 */ 31 /** @file 32 * @brief UHCI driver 33 */ 34 #include <driver.h> 29 35 #include <usb_iface.h> 36 37 #include <errno.h> 38 30 39 #include <usb/debug.h> 31 #include <errno.h> 32 #include <str_error.h> 33 #include <driver.h> 40 41 #include "iface.h" 42 #include "pci.h" 43 #include "root_hub.h" 34 44 #include "uhci.h" 45 46 #define NAME "uhci-hcd" 35 47 36 48 static int usb_iface_get_hc_handle(device_t *dev, devman_handle_t *handle) … … 54 66 static int uhci_add_device(device_t *device) 55 67 { 56 usb_dprintf(NAME, 1, "uhci_add_device() called\n"); 68 assert(device); 69 70 usb_log_info("uhci_add_device() called\n"); 57 71 device->ops = &uhci_ops; 58 72 … … 65 79 66 80 if (rc != EOK) { 67 fprintf(stderr, 68 NAME ": failed to get I/O registers addresses: %s.\n", 69 str_error(rc)); 81 usb_log_error("Failed(%d) to get I/O registers addresses for device:.\n", 82 rc, device->handle); 70 83 return rc; 71 84 } 72 85 73 usb_ dprintf(NAME, 2,"I/O regs at 0x%X (size %zu), IRQ %d.\n",86 usb_log_info("I/O regs at 0x%X (size %zu), IRQ %d.\n", 74 87 io_reg_base, io_reg_size, irq); 75 88 76 /* 77 * We need to announce the presence of our root hub. 78 */ 79 usb_dprintf(NAME, 2, "adding root hub\n"); 80 usb_hcd_add_root_hub(device); 89 uhci_t *uhci_hc = malloc(sizeof(uhci_t)); 90 if (!uhci_hc) { 91 usb_log_error("Failed to allocaete memory for uhci hcd driver.\n"); 92 return ENOMEM; 93 } 94 95 int ret = uhci_init(uhci_hc, (void*)io_reg_base, io_reg_size); 96 if (ret != EOK) { 97 usb_log_error("Failed to init uhci-hcd.\n"); 98 return ret; 99 } 100 device_t *rh; 101 ret = setup_root_hub(&rh, device); 102 103 if (ret != EOK) { 104 usb_log_error("Failed to setup uhci root hub.\n"); 105 /* TODO: destroy uhci here */ 106 return ret; 107 } 108 109 ret = child_device_register(rh, device); 110 if (ret != EOK) { 111 usb_log_error("Failed to register root hub.\n"); 112 /* TODO: destroy uhci here */ 113 return ret; 114 } 115 116 device->driver_data = uhci_hc; 81 117 82 118 return EOK; … … 98 134 */ 99 135 sleep(5); 100 usb_ dprintf_enable(NAME, 5);136 usb_log_enable(USB_LOG_LEVEL_INFO, NAME); 101 137 102 138 return driver_main(&uhci_driver); 103 139 } 140 /** 141 * @} 142 */ -
uspace/drv/uhci-hcd/pci.c
r458e40c r400575c5 34 34 * PCI related functions needed by the UHCI driver. 35 35 */ 36 #include "uhci.h"37 36 #include <errno.h> 38 37 #include <assert.h> 39 38 #include <devman.h> 40 39 #include <device/hw_res.h> 40 41 #include "pci.h" 41 42 42 43 /** Get address of registers and IRQ for given device. … … 125 126 */ 126 127 128 /** 129 * @} 130 */ -
uspace/drv/uhci-hcd/pci.h
r458e40c r400575c5 33 33 * @brief UHCI driver 34 34 */ 35 #ifndef DRV_UHCI_ UHCI_H36 #define DRV_UHCI_ UHCI_H35 #ifndef DRV_UHCI_PCI_H 36 #define DRV_UHCI_PCI_H 37 37 38 #include <usbhc_iface.h> 39 40 #define NAME "uhci" 41 42 usbhc_iface_t uhci_iface; 38 #include <driver.h> 43 39 44 40 int pci_get_my_registers(device_t *, uintptr_t *, size_t *, int *); … … 48 44 * @} 49 45 */ 46
Note:
See TracChangeset
for help on using the changeset viewer.
