diff options
author | Nico Huber <nico.huber@secunet.com> | 2014-07-07 16:33:59 +0200 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2014-07-10 20:55:41 +0200 |
commit | 6e23066d7ac31bd29b328824ec11e7d1252cf41c (patch) | |
tree | 0f30f1245394dcc4205bb58fdc0b8a1d4ef345b5 /payloads/libpayload/drivers/usb/ohci.c | |
parent | 322794243a98a47fe6e3b270277dd049e7d4f22e (diff) | |
download | coreboot-6e23066d7ac31bd29b328824ec11e7d1252cf41c.tar.xz |
libpayload: Use unsigned long for BARs in *hci_init()
Using void* for physical addresses leads to much casting and confuses
developers when to convert from physical to virtual addresses or
the other way around. When using plain integers for physical addresses
and pointers for virtual addresses things become much cleaner and we
won't ever end up dereferencing a physical address.
Change-Id: I24cd53b81c7863b6d14f0cbb4ce8937728b37c1c
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/6244
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Diffstat (limited to 'payloads/libpayload/drivers/usb/ohci.c')
-rw-r--r-- | payloads/libpayload/drivers/usb/ohci.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/payloads/libpayload/drivers/usb/ohci.c b/payloads/libpayload/drivers/usb/ohci.c index edd275bb19..84547e6b85 100644 --- a/payloads/libpayload/drivers/usb/ohci.c +++ b/payloads/libpayload/drivers/usb/ohci.c @@ -167,7 +167,7 @@ static const char *direction[] = { #endif hci_t * -ohci_init (void *bar) +ohci_init (unsigned long physical_bar) { int i; @@ -201,7 +201,7 @@ ohci_init (void *bar) init_device_entry (controller, 0); OHCI_INST (controller)->roothub = controller->devices[0]; - controller->reg_base = (u32)(unsigned long)bar; + controller->reg_base = (u32)physical_bar; OHCI_INST (controller)->opreg = (opreg_t*)phys_to_virt(controller->reg_base); usb_debug("OHCI Version %x.%x\n", (OHCI_INST (controller)->opreg->HcRevision >> 4) & 0xf, OHCI_INST (controller)->opreg->HcRevision & 0xf); @@ -263,7 +263,7 @@ ohci_pci_init (pcidev_t addr) * OHCI mandates MMIO, so bit 0 is clear */ reg_base = pci_read_config32 (addr, 0x10) & 0xfffff000; - return ohci_init((void *)(unsigned long)reg_base); + return ohci_init((unsigned long)reg_base); } #endif |