soc/intel: Replace uses of dev_find_slot()

To call dev_find_slot(0, xx) in romstage can produce
invalid results since PCI bus enumeration has not
been progressed yet.

Replace this with method that relies on bus topology
that walks the root bus only.

Change-Id: I2883610059bb9fa860bba01179e7d5c58cae00e5
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33996
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
Kyösti Mälkki
2019-07-03 07:25:59 +03:00
committed by Nico Huber
parent 9c0e14e7c4
commit 903b40a8a4
32 changed files with 70 additions and 70 deletions

View File

@@ -92,7 +92,7 @@ struct chip_operations soc_intel_skylake_ops = {
/* UPD parameters to be initialized before SiliconInit */
void soc_silicon_init_params(SILICON_INIT_UPD *params)
{
struct device *dev = dev_find_slot(0, PCH_DEVFN_LPC);
struct device *dev = pcidev_path_on_root(PCH_DEVFN_LPC);
const struct soc_intel_skylake_config *config = dev->chip_info;
int i;
@@ -152,7 +152,7 @@ void soc_silicon_init_params(SILICON_INIT_UPD *params)
params->ScsSdCardEnabled = config->ScsSdCardEnabled;
/* Enable ISH if device is on */
dev = dev_find_slot(0, PCH_DEVFN_ISH);
dev = pcidev_path_on_root(PCH_DEVFN_ISH);
if (dev)
params->IshEnable = dev->enabled;
else
@@ -219,11 +219,11 @@ void soc_silicon_init_params(SILICON_INIT_UPD *params)
fill_vr_domain_config(params, i, &config->domain_vr_config[i]);
/* Show SPI controller if enabled in devicetree.cb */
dev = dev_find_slot(0, PCH_DEVFN_SPI);
dev = pcidev_path_on_root(PCH_DEVFN_SPI);
params->ShowSpiController = dev->enabled;
/* Enable xDCI controller if enabled in devicetree and allowed */
dev = dev_find_slot(0, PCH_DEVFN_USBOTG);
dev = pcidev_path_on_root(PCH_DEVFN_USBOTG);
if (!xdci_can_enable())
dev->enabled = 0;
params->XdciEnable = dev->enabled;