diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2013-06-07 22:16:52 +0300 |
---|---|---|
committer | Aaron Durbin <adurbin@google.com> | 2013-07-01 17:10:55 +0200 |
commit | fb387dfb920f73abb144183b8a41dc917e2e32da (patch) | |
tree | 27f1947471fc8bae8944b892c16719c0856f3724 /src/southbridge/sis | |
parent | 0d8d482f6316885d7e553d9aeb538ce5bbd2fbba (diff) | |
download | coreboot-fb387dfb920f73abb144183b8a41dc917e2e32da.tar.xz |
usbdebug: Drop duplicates of EHCI BAR relocation code
All the additional work that needs to be done in EHCI BAR relocation
is independent of the hardware platform and was functionally identical
in all the copies removed.
When USBDEBUG is not selected, PCI EHCI controllers use standard
pci_dev_read_resources() call.
With USBDEBUG selected, PCI EHCI controller's device_operations
.read_resources is replaced with pci_ehci_read_resources() call,
which in turn will replace the device_operations .set_resources call.
The replacement for .set_resources reconfigures usbdebug driver side,
and calls the original .set_resources to configure hardware side.
Change-Id: I8e136a5da4efedf60b6dd7068c0488153efaaf8e
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/3412
Reviewed-by: Aaron Durbin <adurbin@google.com>
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src/southbridge/sis')
-rw-r--r-- | src/southbridge/sis/sis966/usb2.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/src/southbridge/sis/sis966/usb2.c b/src/southbridge/sis/sis966/usb2.c index a5d412706f..195c98288c 100644 --- a/src/southbridge/sis/sis966/usb2.c +++ b/src/southbridge/sis/sis966/usb2.c @@ -112,28 +112,6 @@ static void usb2_init(struct device *dev) print_debug("USB 2.0 INIT:<----------\n"); } -static void usb2_set_resources(struct device *dev) -{ -#if CONFIG_USBDEBUG - struct resource *res; - unsigned base; - unsigned old_debug; - - old_debug = get_ehci_debug(); - set_ehci_debug(0); -#endif - pci_dev_set_resources(dev); - -#if CONFIG_USBDEBUG - res = find_resource(dev, 0x10); - set_ehci_debug(old_debug); - if (!res) return; - base = res->base; - set_ehci_base(base); - report_resource_stored(dev, res, ""); -#endif -} - static void lpci_set_subsystem(device_t dev, unsigned vendor, unsigned device) { pci_write_config32(dev, 0x40, @@ -145,8 +123,8 @@ static struct pci_operations lops_pci = { }; static struct device_operations usb2_ops = { - .read_resources = pci_dev_read_resources, - .set_resources = usb2_set_resources, + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb2_init, // .enable = sis966_enable, |