devicetree: Discriminate device ops scan_bus()

Use of scan_static_bus() and tree traversals is somewhat convoluted.
Start cleaning this up by assigning each path type with separate
static scan_bus() function.

For ME, SMBus and LPC paths a bus cannot expose bridges, as those would
add to the number of encountered PCI buses.

Change-Id: I8bb11450516faad4fa33b8f69bce5b9978ec75e5
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/8534
Tested-by: build bot (Jenkins)
Reviewed-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
This commit is contained in:
Kyösti Mälkki
2015-02-26 20:47:47 +02:00
parent 6ccf119932
commit d0e212cdce
77 changed files with 140 additions and 117 deletions

View File

@ -224,11 +224,12 @@ void show_all_devs_resources(int debug_level, const char* msg);
extern struct device_operations default_dev_ops_root;
void pci_domain_read_resources(struct device *dev);
unsigned int pci_domain_scan_bus(struct device *dev, unsigned int _max);
unsigned int scan_static_bus(device_t bus, unsigned int _max);
void fixed_mem_resource(device_t dev, unsigned long index,
unsigned long basek, unsigned long sizek, unsigned long type);
unsigned int scan_smbus(device_t bus, unsigned int _max);
unsigned int scan_lpc_bus(device_t bus, unsigned int _max);
/* It is the caller's responsibility to adjust regions such that ram_resource()
* and mmio_resource() do not overlap.