Furquan Shaikh (furquan@google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18363
-gerrit
commit ace805e885a558b070b535ea9471daabe5635fbd Author: Furquan Shaikh furquan@chromium.org Date: Mon Feb 13 13:22:19 2017 -0800
device: Add scan_generic_bus support
scan_smbus routine does not perform any smbus specific operation. Thus, rename the routine to scan_generic_bus so that it can be used by other buses like SPI. Add a wrapper scan_smbus to allow other users of smbus scan to continue working as before.
BUG=chrome-os-partner:59832 BRANCH=None TEST=Compiles successfully
Change-Id: I8ca1a2b7f2906d186ec39e9223ce18b8a1f27196 Signed-off-by: Furquan Shaikh furquan@chromium.org --- src/device/root_device.c | 13 +++++++++---- src/include/device/device.h | 1 + 2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/device/root_device.c b/src/device/root_device.c index ed1f7d7..9b3fd49 100644 --- a/src/device/root_device.c +++ b/src/device/root_device.c @@ -72,17 +72,17 @@ void scan_lpc_bus(device_t bus) printk(BIOS_SPEW, "%s for %s done\n", __func__, dev_path(bus)); }
-void scan_smbus(device_t bus) +void scan_generic_bus(device_t bus) { device_t child; struct bus *link; - static int smbus_max = 0; + static int bus_max = 0;
printk(BIOS_SPEW, "%s for %s\n", __func__, dev_path(bus));
for (link = bus->link_list; link; link = link->next) {
- link->secondary = ++smbus_max; + link->secondary = ++bus_max;
for (child = link->children; child; child = child->sibling) {
@@ -92,7 +92,7 @@ void scan_smbus(device_t bus) if (child->ops && child->ops->enable) child->ops->enable(child);
- printk(BIOS_DEBUG, "smbus: %s[%d]->", dev_path(child->bus->dev), + printk(BIOS_DEBUG, "bus: %s[%d]->", dev_path(child->bus->dev), child->bus->link_num);
printk(BIOS_DEBUG, "%s %s\n", dev_path(child), @@ -103,6 +103,11 @@ void scan_smbus(device_t bus) printk(BIOS_SPEW, "%s for %s done\n", __func__, dev_path(bus)); }
+void scan_smbus(device_t bus) +{ + scan_generic_bus(bus); +} + /** * Scan root bus for generic systems. * diff --git a/src/include/device/device.h b/src/include/device/device.h index e21384b..284c039 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -241,6 +241,7 @@ void mmconf_resource_init(struct resource *res, resource_t base, int buses); void mmconf_resource(struct device *dev, unsigned long index);
void scan_smbus(device_t bus); +void scan_generic_bus(device_t bus); void scan_static_bus(device_t bus); void scan_lpc_bus(device_t bus);