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>
Reviewed-on: https://review.coreboot.org/18363
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Furquan Shaikh 2017-02-13 13:22:19 -08:00 committed by Furquan Shaikh
parent 7606c377f5
commit 4e08479688
2 changed files with 10 additions and 4 deletions

View File

@ -72,17 +72,17 @@ void scan_lpc_bus(device_t bus)
printk(BIOS_SPEW, "%s for %s done\n", __func__, dev_path(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; device_t child;
struct bus *link; struct bus *link;
static int smbus_max = 0; static int bus_max = 0;
printk(BIOS_SPEW, "%s for %s\n", __func__, dev_path(bus)); printk(BIOS_SPEW, "%s for %s\n", __func__, dev_path(bus));
for (link = bus->link_list; link; link = link->next) { 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) { for (child = link->children; child; child = child->sibling) {
@ -92,7 +92,7 @@ void scan_smbus(device_t bus)
if (child->ops && child->ops->enable) if (child->ops && child->ops->enable)
child->ops->enable(child); 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); child->bus->link_num);
printk(BIOS_DEBUG, "%s %s\n", dev_path(child), 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)); 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. * Scan root bus for generic systems.
* *

View File

@ -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 mmconf_resource(struct device *dev, unsigned long index);
void scan_smbus(device_t bus); void scan_smbus(device_t bus);
void scan_generic_bus(device_t bus);
void scan_static_bus(device_t bus); void scan_static_bus(device_t bus);
void scan_lpc_bus(device_t bus); void scan_lpc_bus(device_t bus);