Changeset 4687fcd4 in mainline for uspace/drv/uhci
- Timestamp:
- 2011-01-29T10:19:04Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 72e19f50
- Parents:
- 67a1b78 (diff), a09128c (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
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci/Makefile
r67a1b78 r4687fcd4 41 41 transfer_list.c \ 42 42 uhci.c \ 43 uhci_struct/transfer_descriptor.c 43 uhci_struct/transfer_descriptor.c \ 44 pci.c 44 45 45 46 include $(USPACE_PREFIX)/Makefile.common -
uspace/drv/uhci/main.c
r67a1b78 r4687fcd4 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 #include <driver.h> 29 #include <errno.h> 30 #include <str_error.h> 28 31 #include <usb_iface.h> 29 #include <errno.h>30 32 31 33 #include "debug.h" … … 57 59 device->ops = &uhci_ops; 58 60 59 // TODO: get this value out of pci driver 60 return uhci_init(device, (void*)0xc020); 61 uintptr_t io_reg_base; 62 size_t io_reg_size; 63 int irq; 64 65 int rc = pci_get_my_registers(device, 66 &io_reg_base, &io_reg_size, &irq); 67 68 if (rc != EOK) { 69 uhci_print_fatal("failed to get I/O registers addresses: %s.\n", 70 str_error(rc)); 71 return rc; 72 } 73 74 uhci_print_info("I/O regs at 0x%X (size %zu), IRQ %d.\n", 75 io_reg_base, io_reg_size, irq); 76 77 return uhci_init(device, (void*)io_reg_base, io_reg_size); 61 78 } 62 79 -
uspace/drv/uhci/uhci.c
r67a1b78 r4687fcd4 13 13 static int uhci_debug_checker(void *arg); 14 14 15 int uhci_init(device_t *device, void *regs )15 int uhci_init(device_t *device, void *regs, size_t reg_size) 16 16 { 17 17 assert(device); … … 40 40 /* allow access to hc control registers */ 41 41 regs_t *io; 42 ret = pio_enable(regs, sizeof(regs_t), (void**)&io); 42 assert(reg_size >= sizeof(regs_t)); 43 ret = pio_enable(regs, reg_size, (void**)&io); 43 44 CHECK_RET_FREE_INSTANCE("Failed to gain access to registers at %p.\n", io); 44 45 instance->registers = io; -
uspace/drv/uhci/uhci.h
r67a1b78 r4687fcd4 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 /** @addtogroup usb 28 29 /** @addtogroup drvusbuhci 29 30 * @{ 30 31 */ … … 86 87 87 88 /* init uhci specifics in device.driver_data */ 88 int uhci_init( device_t *device, void *regs );89 int uhci_init( device_t *device, void *regs, size_t reg_size ); 89 90 90 91 int uhci_destroy( device_t *device ); … … 101 102 void *arg ); 102 103 104 int pci_get_my_registers(device_t *, uintptr_t *, size_t *, int *); 105 103 106 #endif 104 107 /**
Note:
See TracChangeset
for help on using the changeset viewer.
