[coreboot-gerrit] Patch set updated for coreboot: c0cd550 usbdebug: Drop duplicates of EHCI BAR relocation code

Kyösti Mälkki (kyosti.malkki@gmail.com) gerrit at coreboot.org
Thu Jun 13 00:54:04 CEST 2013


Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3412

-gerrit

commit c0cd550cdf70deea9bcdf28e04cfaee3dfd3e758
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date:   Fri Jun 7 22:16:52 2013 +0300

    usbdebug: Drop duplicates of EHCI BAR relocation code
    
    When USBDEBUG is not selected, resource allocator assigns EHCI
    BAR with normal pci_dev_set_resources() call.
    
    With USBDEBUG selected, all the additional work that needs to be
    done is independent of the hardware platform and was actually
    functionally identical in all the copies removed.
    
    Change-Id: I8e136a5da4efedf60b6dd7068c0488153efaaf8e
    Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
 src/console/usbdebug_console.c             | 40 ++++++++++++++++++++++++++++++
 src/include/ehci.h                         |  2 --
 src/include/usbdebug.h                     | 11 +++++++-
 src/southbridge/amd/agesa/hudson/usb.c     | 32 +++---------------------
 src/southbridge/amd/cimx/sb700/late.c      | 32 ++----------------------
 src/southbridge/amd/cimx/sb800/late.c      | 31 ++---------------------
 src/southbridge/amd/cimx/sb900/late.c      | 32 ++----------------------
 src/southbridge/amd/sb600/usb.c            | 32 +++---------------------
 src/southbridge/amd/sb700/usb.c            | 31 +++--------------------
 src/southbridge/amd/sb800/usb.c            | 32 +++---------------------
 src/southbridge/intel/bd82x6x/usb_ehci.c   | 28 ++-------------------
 src/southbridge/intel/i82801gx/usb_ehci.c  | 28 ++-------------------
 src/southbridge/intel/i82801ix/usb_ehci.c  | 27 ++------------------
 src/southbridge/intel/lynxpoint/usb_ehci.c | 28 ++-------------------
 src/southbridge/nvidia/mcp55/usb2.c        | 27 ++------------------
 src/southbridge/sis/sis966/usb2.c          | 26 ++-----------------
 16 files changed, 84 insertions(+), 355 deletions(-)

diff --git a/src/console/usbdebug_console.c b/src/console/usbdebug_console.c
index dd61953..9cfb454 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 7ec9810..b096f42 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 c3b3437..961481a 100644
--- a/src/include/usbdebug.h
+++ b/src/include/usbdebug.h
@@ -21,7 +21,16 @@
 #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
+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 f5ec056..f5d0d4c 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 ede9fb3..4e4d0cc 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 74b2d08..90b26ae 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 947e882..d2ce72c 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 1ca4ad6..d551661 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 44f0caa..d3a9f3e 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 d326b8c..305a7e6 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 aec230c..d2bf690 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 4c9be71..8dcda39 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 7f91174..b6c0edd 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 aec230c..d2bf690 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 c97b25e..1f129ec 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 a5d4127..195c982 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,



More information about the coreboot-gerrit mailing list