diff options
-rw-r--r-- | src/console/usbdebug_console.c | 40 | ||||
-rw-r--r-- | src/include/ehci.h | 2 | ||||
-rw-r--r-- | src/include/usbdebug.h | 19 | ||||
-rw-r--r-- | src/southbridge/amd/agesa/hudson/usb.c | 32 | ||||
-rw-r--r-- | src/southbridge/amd/cimx/sb700/late.c | 32 | ||||
-rw-r--r-- | src/southbridge/amd/cimx/sb800/late.c | 31 | ||||
-rw-r--r-- | src/southbridge/amd/cimx/sb900/late.c | 32 | ||||
-rw-r--r-- | src/southbridge/amd/sb600/usb.c | 32 | ||||
-rw-r--r-- | src/southbridge/amd/sb700/usb.c | 31 | ||||
-rw-r--r-- | src/southbridge/amd/sb800/usb.c | 32 | ||||
-rw-r--r-- | src/southbridge/intel/bd82x6x/usb_ehci.c | 28 | ||||
-rw-r--r-- | src/southbridge/intel/i82801gx/usb_ehci.c | 28 | ||||
-rw-r--r-- | src/southbridge/intel/i82801ix/usb_ehci.c | 27 | ||||
-rw-r--r-- | src/southbridge/intel/lynxpoint/usb_ehci.c | 28 | ||||
-rw-r--r-- | src/southbridge/nvidia/mcp55/usb2.c | 27 | ||||
-rw-r--r-- | src/southbridge/sis/sis966/usb2.c | 26 |
16 files changed, 92 insertions, 355 deletions
diff --git a/src/console/usbdebug_console.c b/src/console/usbdebug_console.c index dd61953f8e..9cfb45491a 100644 --- a/src/console/usbdebug_console.c +++ b/src/console/usbdebug_console.c @@ -21,9 +21,12 @@ #include <string.h> #include <console/console.h> #include <usbdebug.h> +#include <device/pci.h> #include <pc80/mc146818rtc.h> static struct ehci_debug_info dbg_info; +static struct device_operations *ehci_drv_ops; +static struct device_operations ehci_dbg_ops; void set_ehci_base(unsigned ehci_base) { @@ -48,6 +51,43 @@ unsigned get_ehci_debug(void) return (unsigned)dbg_info.ehci_debug; } +static void pci_ehci_set_resources(struct device *dev) +{ + struct resource *res; + u32 base; + u32 usb_debug; + + printk(BIOS_DEBUG, "%s EHCI Debug Port hook triggered\n", dev_path(dev)); + usb_debug = get_ehci_debug(); + set_ehci_debug(0); + + if (ehci_drv_ops->set_resources) + ehci_drv_ops->set_resources(dev); + + res = find_resource(dev, EHCI_BAR_INDEX); + set_ehci_debug(usb_debug); + if (!res) return; + base = res->base; + set_ehci_base(base); + report_resource_stored(dev, res, ""); + printk(BIOS_DEBUG, "%s EHCI Debug Port relocated\n", dev_path(dev)); +} + +void pci_ehci_read_resources(struct device *dev) +{ + if (!ehci_drv_ops) { + memcpy(&ehci_dbg_ops, dev->ops, sizeof(ehci_dbg_ops)); + ehci_drv_ops = dev->ops; + ehci_dbg_ops.set_resources = pci_ehci_set_resources; + dev->ops = &ehci_dbg_ops; + printk(BIOS_DEBUG, "%s EHCI BAR hook registered\n", dev_path(dev)); + } else { + printk(BIOS_DEBUG, "More than one caller of %s from %s\n", __func__, dev_path(dev)); + } + + pci_dev_read_resources(dev); +} + static void dbgp_init(void) { #if !CONFIG_EARLY_CONSOLE diff --git a/src/include/ehci.h b/src/include/ehci.h index 7ec9810f62..b096f42761 100644 --- a/src/include/ehci.h +++ b/src/include/ehci.h @@ -23,8 +23,6 @@ #ifndef EHCI_H #define EHCI_H -#define EHCI_BAR_INDEX 0x10 - /* EHCI register interface, corresponds to EHCI Revision 0.95 specification */ /* Section 2.2 Host Controller Capability Registers */ diff --git a/src/include/usbdebug.h b/src/include/usbdebug.h index c3b34377fa..990312aa34 100644 --- a/src/include/usbdebug.h +++ b/src/include/usbdebug.h @@ -21,7 +21,24 @@ #ifndef USBDEBUG_H #define USBDEBUG_H -#include <ehci.h> +#define EHCI_BAR_INDEX 0x10 + +#ifndef __PRE_RAM__ +#if !CONFIG_USBDEBUG +#define pci_ehci_read_resources pci_dev_read_resources +#else +/* Relocation of EHCI Debug Port BAR + * + * PCI EHCI controller with Debug Port capability shall replace + * pci_dev_read_resources() with pci_ehci_read_resources() in its + * declaration of device_operations for .read_resources. + * This installs a hook to reconfigure usbdebug when resource allocator + * assigns a new BAR for the device. + */ +struct device; +void pci_ehci_read_resources(struct device *dev); +#endif +#endif struct ehci_debug_info { void *ehci_caps; diff --git a/src/southbridge/amd/agesa/hudson/usb.c b/src/southbridge/amd/agesa/hudson/usb.c index f5ec056e9a..f5d0d4cd5f 100644 --- a/src/southbridge/amd/agesa/hudson/usb.c +++ b/src/southbridge/amd/agesa/hudson/usb.c @@ -34,33 +34,9 @@ static void usb_init(struct device *dev) { } -static void usb_set_resources(struct device *dev) -{ -#if CONFIG_USBDEBUG - struct resource *res; - u32 base; - u32 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 struct device_operations usb_ops = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_set_resources, /* pci_dev_set_resources, */ + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_init, .scan_bus = 0, @@ -100,8 +76,8 @@ static const struct pci_driver usb_4_driver __pci_driver = { /* static struct device_operations usb_ops2 = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_set_resources, + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_init2, .scan_bus = 0, diff --git a/src/southbridge/amd/cimx/sb700/late.c b/src/southbridge/amd/cimx/sb700/late.c index b259a7b797..e2ecdc32cc 100644 --- a/src/southbridge/amd/cimx/sb700/late.c +++ b/src/southbridge/amd/cimx/sb700/late.c @@ -25,6 +25,7 @@ #include <device/smbus.h> /* smbus_bus_operations */ #include <pc80/mc146818rtc.h> #include <console/console.h> /* printk */ +#include <usbdebug.h> #include "lpc.h" /* lpc_read_resources */ #include "Platform.h" /* Platfrom Specific Definitions */ #include "sb_cimx.h" @@ -120,38 +121,9 @@ static const struct pci_driver sata_driver __pci_driver = { .device = PCI_DEVICE_ID_ATI_SB700_SATA, //SATA IDE Mode 4390 }; -#if CONFIG_USBDEBUG -static void usb_set_resources(struct device *dev) -{ - struct resource *res; - u32 base; - u32 old_debug; - - printk(BIOS_SPEW, "SB700 - Late.c - %s - Start.\n", __func__); - old_debug = get_ehci_debug(); - set_ehci_debug(0); - - pci_dev_set_resources(dev); - - 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, ""); - printk(BIOS_SPEW, "SB700 - Late.c - %s - End.\n", __func__); -} -#endif - - static struct device_operations usb_ops = { - .read_resources = pci_dev_read_resources, -#if CONFIG_USBDEBUG - .set_resources = usb_set_resources, -#else + .read_resources = pci_ehci_read_resources, .set_resources = pci_dev_set_resources, -#endif .enable_resources = pci_dev_enable_resources, .init = 0, .scan_bus = 0, diff --git a/src/southbridge/amd/cimx/sb800/late.c b/src/southbridge/amd/cimx/sb800/late.c index 74b2d089eb..90b26aedb9 100644 --- a/src/southbridge/amd/cimx/sb800/late.c +++ b/src/southbridge/amd/cimx/sb800/late.c @@ -26,6 +26,7 @@ #include <pc80/mc146818rtc.h> #include <console/console.h> /* printk */ #include <arch/acpi.h> +#include <usbdebug.h> #include "lpc.h" /* lpc_read_resources */ #include "SBPLATFORM.h" /* Platfrom Specific Definitions */ #include "cfg.h" /* sb800 Cimx configuration */ @@ -179,37 +180,9 @@ static const struct pci_driver raid5_driver __pci_driver = { .device = PCI_DEVICE_ID_ATI_SB800_SATA_RAID5, }; -#if CONFIG_USBDEBUG -static void usb_set_resources(struct device *dev) -{ - struct resource *res; - u32 base; - u32 old_debug; - - printk(BIOS_DEBUG, "SB800 - Late.c - %s - Start.\n", __func__); - old_debug = get_ehci_debug(); - set_ehci_debug(0); - - pci_dev_set_resources(dev); - - 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, ""); - printk(BIOS_DEBUG, "SB800 - Late.c - %s - End.\n", __func__); -} -#endif - static struct device_operations usb_ops = { - .read_resources = pci_dev_read_resources, -#if CONFIG_USBDEBUG - .set_resources = usb_set_resources, -#else + .read_resources = pci_ehci_read_resources, .set_resources = pci_dev_set_resources, -#endif .enable_resources = pci_dev_enable_resources, .init = 0, .scan_bus = 0, diff --git a/src/southbridge/amd/cimx/sb900/late.c b/src/southbridge/amd/cimx/sb900/late.c index 947e882fd9..d2ce72cc01 100644 --- a/src/southbridge/amd/cimx/sb900/late.c +++ b/src/southbridge/amd/cimx/sb900/late.c @@ -24,6 +24,7 @@ #include <device/smbus.h> /* smbus_bus_operations */ #include <pc80/mc146818rtc.h> #include <console/console.h> /* printk */ +#include <usbdebug.h> #include "lpc.h" /* lpc_read_resources */ #include "SbPlatform.h" /* Platfrom Specific Definitions */ #include "chip.h" /* struct southbridge_amd_cimx_sb900_config */ @@ -174,31 +175,6 @@ static const struct pci_driver sata_driver __pci_driver = { #endif }; - -#if CONFIG_USBDEBUG -static void usb_set_resources(struct device *dev) -{ - struct resource *res; - u32 base; - u32 old_debug; - - printk(BIOS_DEBUG, "SB900 - Late.c - usb_set_resources - Start.\n"); - old_debug = get_ehci_debug(); - set_ehci_debug(0); - - pci_dev_set_resources(dev); - - 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, ""); - printk(BIOS_DEBUG, "SB900 - Late.c - usb_set_resources - End.\n"); -} -#endif - static void usb_init(struct device *dev) { printk(BIOS_DEBUG, "SB900 - Late.c - usb_init - Start.\n"); @@ -208,12 +184,8 @@ static void usb_init(struct device *dev) } static struct device_operations usb_ops = { - .read_resources = pci_dev_read_resources, -#if CONFIG_USBDEBUG - .set_resources = usb_set_resources, -#else + .read_resources = pci_ehci_read_resources, .set_resources = pci_dev_set_resources, -#endif .enable_resources = pci_dev_enable_resources, .init = usb_init, .scan_bus = 0, diff --git a/src/southbridge/amd/sb600/usb.c b/src/southbridge/amd/sb600/usb.c index 1ca4ad6bf0..d5516614e9 100644 --- a/src/southbridge/amd/sb600/usb.c +++ b/src/southbridge/amd/sb600/usb.c @@ -130,33 +130,9 @@ static void usb_init2(struct device *dev) pci_write_config8(dev, 0x54, byte); } -static void usb_set_resources(struct device *dev) -{ -#if CONFIG_USBDEBUG - struct resource *res; - u32 base; - u32 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 struct device_operations usb_ops = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_set_resources, /* pci_dev_set_resources, */ + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_init, /*.enable = sb600_enable, */ @@ -180,8 +156,8 @@ static const struct pci_driver usb_0_driver __pci_driver = { }; static struct device_operations usb_ops2 = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_set_resources, /* pci_dev_set_resources, */ + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_init2, /*.enable = sb600_enable, */ diff --git a/src/southbridge/amd/sb700/usb.c b/src/southbridge/amd/sb700/usb.c index 44f0caab7b..d3a9f3ede7 100644 --- a/src/southbridge/amd/sb700/usb.c +++ b/src/southbridge/amd/sb700/usb.c @@ -182,32 +182,9 @@ static void usb_init2(struct device *dev) printk(BIOS_DEBUG, "rpr 6.23, final dword=%x\n", dword); } -static void usb_set_resources(struct device *dev) -{ -#if CONFIG_USBDEBUG - struct resource *res; - u32 base; - u32 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 struct device_operations usb_ops = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_set_resources, /* pci_dev_set_resources, */ + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_init, .scan_bus = 0, @@ -247,8 +224,8 @@ static const struct pci_driver usb_4_driver __pci_driver = { }; static struct device_operations usb_ops2 = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_set_resources, /* pci_dev_set_resources, */ + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_init2, .scan_bus = 0, diff --git a/src/southbridge/amd/sb800/usb.c b/src/southbridge/amd/sb800/usb.c index d326b8c0be..305a7e6713 100644 --- a/src/southbridge/amd/sb800/usb.c +++ b/src/southbridge/amd/sb800/usb.c @@ -147,33 +147,9 @@ static void usb_init2(struct device *dev) #endif } -static void usb_set_resources(struct device *dev) -{ -#if CONFIG_USBDEBUG - struct resource *res; - u32 base; - u32 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 struct device_operations usb_ops = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_set_resources, /* pci_dev_set_resources, */ + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_init, .scan_bus = 0, @@ -212,8 +188,8 @@ static const struct pci_driver usb_4_driver __pci_driver = { }; static struct device_operations usb_ops2 = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_set_resources, /* pci_dev_set_resources, */ + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_init2, .scan_bus = 0, diff --git a/src/southbridge/intel/bd82x6x/usb_ehci.c b/src/southbridge/intel/bd82x6x/usb_ehci.c index aec230cf85..d2bf6907e6 100644 --- a/src/southbridge/intel/bd82x6x/usb_ehci.c +++ b/src/southbridge/intel/bd82x6x/usb_ehci.c @@ -65,37 +65,13 @@ static void usb_ehci_set_subsystem(device_t dev, unsigned vendor, unsigned devic pci_write_config8(dev, 0x80, access_cntl); } -static void usb_ehci_set_resources(struct device *dev) -{ -#if CONFIG_USBDEBUG - struct resource *res; - u32 base; - u32 usb_debug; - - usb_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(usb_debug); - if (!res) return; - base = res->base; - set_ehci_base(base); - report_resource_stored(dev, res, ""); -#endif -} - - - static struct pci_operations lops_pci = { .set_subsystem = &usb_ehci_set_subsystem, }; static struct device_operations usb_ehci_ops = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_ehci_set_resources, + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_ehci_init, .scan_bus = 0, diff --git a/src/southbridge/intel/i82801gx/usb_ehci.c b/src/southbridge/intel/i82801gx/usb_ehci.c index 4c9be71873..8dcda39834 100644 --- a/src/southbridge/intel/i82801gx/usb_ehci.c +++ b/src/southbridge/intel/i82801gx/usb_ehci.c @@ -83,37 +83,13 @@ static void usb_ehci_set_subsystem(device_t dev, unsigned vendor, unsigned devic pci_write_config8(dev, 0x80, access_cntl); } -static void usb_ehci_set_resources(struct device *dev) -{ -#if CONFIG_USBDEBUG - struct resource *res; - u32 base; - u32 usb_debug; - - usb_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(usb_debug); - if (!res) return; - base = res->base; - set_ehci_base(base); - report_resource_stored(dev, res, ""); -#endif -} - - - static struct pci_operations lops_pci = { .set_subsystem = &usb_ehci_set_subsystem, }; static struct device_operations usb_ehci_ops = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_ehci_set_resources, + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_ehci_init, .scan_bus = 0, diff --git a/src/southbridge/intel/i82801ix/usb_ehci.c b/src/southbridge/intel/i82801ix/usb_ehci.c index 7f911746a1..b6c0eddf7d 100644 --- a/src/southbridge/intel/i82801ix/usb_ehci.c +++ b/src/southbridge/intel/i82801ix/usb_ehci.c @@ -58,29 +58,6 @@ static void usb_ehci_set_subsystem(device_t dev, unsigned vendor, unsigned devic pci_write_config8(dev, 0x80, access_cntl); } -static void usb_ehci_set_resources(struct device *dev) -{ -#if CONFIG_USBDEBUG - struct resource *res; - u32 base; - u32 usb_debug; - - usb_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(usb_debug); - if (!res) return; - base = res->base; - set_ehci_base(base); - report_resource_stored(dev, res, ""); -#endif -} - - static const unsigned short pci_device_ids[] = { 0x293a, 0x293c, @@ -92,8 +69,8 @@ static struct pci_operations lops_pci = { }; static struct device_operations usb_ehci_ops = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_ehci_set_resources, + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_ehci_init, .scan_bus = 0, diff --git a/src/southbridge/intel/lynxpoint/usb_ehci.c b/src/southbridge/intel/lynxpoint/usb_ehci.c index b0297a20f3..fd7c659edd 100644 --- a/src/southbridge/intel/lynxpoint/usb_ehci.c +++ b/src/southbridge/intel/lynxpoint/usb_ehci.c @@ -65,37 +65,13 @@ static void usb_ehci_set_subsystem(device_t dev, unsigned vendor, unsigned devic pci_write_config8(dev, 0x80, access_cntl); } -static void usb_ehci_set_resources(struct device *dev) -{ -#if CONFIG_USBDEBUG - struct resource *res; - u32 base; - u32 usb_debug; - - usb_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(usb_debug); - if (!res) return; - base = res->base; - set_ehci_base(base); - report_resource_stored(dev, res, ""); -#endif -} - - - static struct pci_operations lops_pci = { .set_subsystem = &usb_ehci_set_subsystem, }; static struct device_operations usb_ehci_ops = { - .read_resources = pci_dev_read_resources, - .set_resources = usb_ehci_set_resources, + .read_resources = pci_ehci_read_resources, + .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = usb_ehci_init, .scan_bus = 0, diff --git a/src/southbridge/nvidia/mcp55/usb2.c b/src/southbridge/nvidia/mcp55/usb2.c index c97b25ec39..1f129ec6b9 100644 --- a/src/southbridge/nvidia/mcp55/usb2.c +++ b/src/southbridge/nvidia/mcp55/usb2.c @@ -37,32 +37,9 @@ static void usb2_init(struct device *dev) pci_write_config32(dev, 0xf8, dword); } -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 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 = mcp55_enable, 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, |