Angel Pons has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/58907 )
Change subject: soc/intel: Replace bad uses of `find_resource` ......................................................................
soc/intel: Replace bad uses of `find_resource`
The `find_resource` function will never return null (will die instead). In cases where the existing code already accounts for null pointers, it is better to use `probe_resource` instead, which returns a null pointer instead of dying.
Change-Id: I2a57ea1c2f5b156afd0724829e5b1880246f351f Signed-off-by: Angel Pons th3fanbus@gmail.com --- M src/soc/intel/baytrail/gfx.c M src/soc/intel/baytrail/hda.c M src/soc/intel/baytrail/lpe.c M src/soc/intel/baytrail/lpss.c M src/soc/intel/baytrail/scc.c M src/soc/intel/braswell/lpe.c M src/soc/intel/braswell/lpss.c M src/soc/intel/braswell/scc.c M src/soc/intel/broadwell/gma.c M src/soc/intel/broadwell/minihd.c M src/soc/intel/broadwell/pch/adsp.c M src/soc/intel/broadwell/pch/hda.c M src/soc/intel/broadwell/pch/me.c M src/soc/intel/broadwell/pch/serialio.c M src/soc/intel/common/block/graphics/graphics.c M src/soc/intel/common/block/i2c/i2c.c M src/soc/intel/common/block/smbus/smbus.c M src/soc/intel/common/block/thermal/thermal.c M src/soc/intel/common/block/xhci/xhci.c M src/soc/intel/denverton_ns/uart.c M src/soc/intel/jasperlake/xhci.c M src/soc/intel/skylake/graphics.c 22 files changed, 32 insertions(+), 32 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/07/58907/1
diff --git a/src/soc/intel/baytrail/gfx.c b/src/soc/intel/baytrail/gfx.c index 0ee3cef..2ee2375 100644 --- a/src/soc/intel/baytrail/gfx.c +++ b/src/soc/intel/baytrail/gfx.c @@ -279,7 +279,7 @@ int divider; struct resource *res;
- res = find_resource(dev, PCI_BASE_ADDRESS_0); + res = probe_resource(dev, PCI_BASE_ADDRESS_0);
if (res == NULL) return; diff --git a/src/soc/intel/baytrail/hda.c b/src/soc/intel/baytrail/hda.c index db569ec..b582006 100644 --- a/src/soc/intel/baytrail/hda.c +++ b/src/soc/intel/baytrail/hda.c @@ -64,7 +64,7 @@
reg_script_run_on_dev(dev, init_ops);
- res = find_resource(dev, PCI_BASE_ADDRESS_0); + res = probe_resource(dev, PCI_BASE_ADDRESS_0); if (res == NULL) return;
diff --git a/src/soc/intel/baytrail/lpe.c b/src/soc/intel/baytrail/lpe.c index a56ce5b..7192865 100644 --- a/src/soc/intel/baytrail/lpe.c +++ b/src/soc/intel/baytrail/lpe.c @@ -34,7 +34,7 @@ { struct resource *res;
- res = find_resource(dev, index); + res = probe_resource(dev, index); if (res) *field = res->base; } @@ -112,7 +112,7 @@ struct resource *mmio; const struct pattrs *pattrs = pattrs_get();
- res = find_resource(dev, FIRMWARE_PCI_REG_BASE); + res = probe_resource(dev, FIRMWARE_PCI_REG_BASE); if (res == NULL) { printk(BIOS_DEBUG, "LPE Firmware memory not found.\n"); return; diff --git a/src/soc/intel/baytrail/lpss.c b/src/soc/intel/baytrail/lpss.c index 9f309b4..b63576b 100644 --- a/src/soc/intel/baytrail/lpss.c +++ b/src/soc/intel/baytrail/lpss.c @@ -32,11 +32,11 @@ struct device_nvs *dev_nvs = acpi_get_device_nvs();
/* Save BAR0 and BAR1 to ACPI NVS */ - bar = find_resource(dev, PCI_BASE_ADDRESS_0); + bar = probe_resource(dev, PCI_BASE_ADDRESS_0); if (bar) dev_nvs->lpss_bar0[nvs_index] = (u32)bar->base;
- bar = find_resource(dev, PCI_BASE_ADDRESS_1); + bar = probe_resource(dev, PCI_BASE_ADDRESS_1); if (bar) dev_nvs->lpss_bar1[nvs_index] = (u32)bar->base;
diff --git a/src/soc/intel/baytrail/scc.c b/src/soc/intel/baytrail/scc.c index a1e8eb7..8892b53 100644 --- a/src/soc/intel/baytrail/scc.c +++ b/src/soc/intel/baytrail/scc.c @@ -83,11 +83,11 @@ struct device_nvs *dev_nvs = acpi_get_device_nvs();
/* Save BAR0 and BAR1 to ACPI NVS */ - bar = find_resource(dev, PCI_BASE_ADDRESS_0); + bar = probe_resource(dev, PCI_BASE_ADDRESS_0); if (bar) dev_nvs->scc_bar0[nvs_index] = (u32)bar->base;
- bar = find_resource(dev, PCI_BASE_ADDRESS_1); + bar = probe_resource(dev, PCI_BASE_ADDRESS_1); if (bar) dev_nvs->scc_bar1[nvs_index] = (u32)bar->base;
diff --git a/src/soc/intel/braswell/lpe.c b/src/soc/intel/braswell/lpe.c index 59cabee..323c9fc 100644 --- a/src/soc/intel/braswell/lpe.c +++ b/src/soc/intel/braswell/lpe.c @@ -35,7 +35,7 @@ { struct resource *res;
- res = find_resource(dev, index); + res = probe_resource(dev, index); if (res) *field = res->base; } @@ -109,7 +109,7 @@ struct resource *res; struct resource *mmio;
- res = find_resource(dev, FIRMWARE_PCI_REG_BASE); + res = probe_resource(dev, FIRMWARE_PCI_REG_BASE); if (res == NULL) { printk(BIOS_DEBUG, "LPE Firmware memory not found.\n"); return; @@ -162,7 +162,7 @@ { struct resource *res;
- res = find_resource(dev, PCI_BASE_ADDRESS_2); + res = probe_resource(dev, PCI_BASE_ADDRESS_2); if (res != NULL) res->flags |= IORESOURCE_STORED;
diff --git a/src/soc/intel/braswell/lpss.c b/src/soc/intel/braswell/lpss.c index 93ee3da..5f93e17 100644 --- a/src/soc/intel/braswell/lpss.c +++ b/src/soc/intel/braswell/lpss.c @@ -31,11 +31,11 @@ struct device_nvs *dev_nvs = acpi_get_device_nvs();
/* Save BAR0 and BAR1 to ACPI NVS */ - bar = find_resource(dev, PCI_BASE_ADDRESS_0); + bar = probe_resource(dev, PCI_BASE_ADDRESS_0); if (bar) dev_nvs->lpss_bar0[nvs_index] = (u32)bar->base;
- bar = find_resource(dev, PCI_BASE_ADDRESS_1); + bar = probe_resource(dev, PCI_BASE_ADDRESS_1); if (bar) dev_nvs->lpss_bar1[nvs_index] = (u32)bar->base;
diff --git a/src/soc/intel/braswell/scc.c b/src/soc/intel/braswell/scc.c index 902ee57..8894aa5 100644 --- a/src/soc/intel/braswell/scc.c +++ b/src/soc/intel/braswell/scc.c @@ -13,10 +13,10 @@ struct device_nvs *dev_nvs = acpi_get_device_nvs();
/* Save BAR0 and BAR1 to ACPI NVS */ - bar = find_resource(dev, PCI_BASE_ADDRESS_0); + bar = probe_resource(dev, PCI_BASE_ADDRESS_0); if (bar) dev_nvs->scc_bar0[nvs_index] = bar->base; - bar = find_resource(dev, PCI_BASE_ADDRESS_2); + bar = probe_resource(dev, PCI_BASE_ADDRESS_2); if (bar) dev_nvs->scc_bar1[nvs_index] = bar->base;
diff --git a/src/soc/intel/broadwell/gma.c b/src/soc/intel/broadwell/gma.c index b3e010c..e84d075 100644 --- a/src/soc/intel/broadwell/gma.c +++ b/src/soc/intel/broadwell/gma.c @@ -505,7 +505,7 @@
intel_gma_init_igd_opregion();
- gtt_res = find_resource(dev, PCI_BASE_ADDRESS_0); + gtt_res = probe_resource(dev, PCI_BASE_ADDRESS_0); if (!gtt_res || !gtt_res->base) return;
diff --git a/src/soc/intel/broadwell/minihd.c b/src/soc/intel/broadwell/minihd.c index e373878..a07d9b1 100644 --- a/src/soc/intel/broadwell/minihd.c +++ b/src/soc/intel/broadwell/minihd.c @@ -52,7 +52,7 @@ int codec_mask, i;
/* Find base address */ - res = find_resource(dev, PCI_BASE_ADDRESS_0); + res = probe_resource(dev, PCI_BASE_ADDRESS_0); if (!res) return;
diff --git a/src/soc/intel/broadwell/pch/adsp.c b/src/soc/intel/broadwell/pch/adsp.c index 1ebf922..eaae08b 100644 --- a/src/soc/intel/broadwell/pch/adsp.c +++ b/src/soc/intel/broadwell/pch/adsp.c @@ -25,10 +25,10 @@ pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY);
/* Find BAR0 and BAR1 */ - bar0 = find_resource(dev, PCI_BASE_ADDRESS_0); + bar0 = probe_resource(dev, PCI_BASE_ADDRESS_0); if (!bar0) return; - bar1 = find_resource(dev, PCI_BASE_ADDRESS_1); + bar1 = probe_resource(dev, PCI_BASE_ADDRESS_1); if (!bar1) return;
diff --git a/src/soc/intel/broadwell/pch/hda.c b/src/soc/intel/broadwell/pch/hda.c index 2e00f79..37f2d9f 100644 --- a/src/soc/intel/broadwell/pch/hda.c +++ b/src/soc/intel/broadwell/pch/hda.c @@ -80,7 +80,7 @@ u32 codec_mask;
/* Find base address */ - res = find_resource(dev, PCI_BASE_ADDRESS_0); + res = probe_resource(dev, PCI_BASE_ADDRESS_0); if (!res) return;
diff --git a/src/soc/intel/broadwell/pch/me.c b/src/soc/intel/broadwell/pch/me.c index 22db6a7..95b6d88 100644 --- a/src/soc/intel/broadwell/pch/me.c +++ b/src/soc/intel/broadwell/pch/me.c @@ -709,7 +709,7 @@ struct mei_csr host;
/* Find the MMIO base for the ME interface */ - res = find_resource(dev, PCI_BASE_ADDRESS_0); + res = probe_resource(dev, PCI_BASE_ADDRESS_0); if (!res || res->base == 0 || res->size == 0) { printk(BIOS_DEBUG, "ME: MEI resource not present!\n"); return -1; diff --git a/src/soc/intel/broadwell/pch/serialio.c b/src/soc/intel/broadwell/pch/serialio.c index e38de5e..f87217c 100644 --- a/src/soc/intel/broadwell/pch/serialio.c +++ b/src/soc/intel/broadwell/pch/serialio.c @@ -166,10 +166,10 @@ pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY);
/* Find BAR0 and BAR1 */ - bar0 = find_resource(dev, PCI_BASE_ADDRESS_0); + bar0 = probe_resource(dev, PCI_BASE_ADDRESS_0); if (!bar0) return; - bar1 = find_resource(dev, PCI_BASE_ADDRESS_1); + bar1 = probe_resource(dev, PCI_BASE_ADDRESS_1); if (!bar1) return;
diff --git a/src/soc/intel/common/block/graphics/graphics.c b/src/soc/intel/common/block/graphics/graphics.c index 8476b87..e7e96ad 100644 --- a/src/soc/intel/common/block/graphics/graphics.c +++ b/src/soc/intel/common/block/graphics/graphics.c @@ -100,7 +100,7 @@ { struct resource *gm_res;
- gm_res = find_resource(dev, index); + gm_res = probe_resource(dev, index); if (!gm_res) return 0;
diff --git a/src/soc/intel/common/block/i2c/i2c.c b/src/soc/intel/common/block/i2c/i2c.c index 90670b6..acc23ab 100644 --- a/src/soc/intel/common/block/i2c/i2c.c +++ b/src/soc/intel/common/block/i2c/i2c.c @@ -123,7 +123,7 @@ return (uintptr_t)NULL;
/* dev -> bar0 */ - res = find_resource(dev, PCI_BASE_ADDRESS_0); + res = probe_resource(dev, PCI_BASE_ADDRESS_0); if (res) return res->base;
diff --git a/src/soc/intel/common/block/smbus/smbus.c b/src/soc/intel/common/block/smbus/smbus.c index d11abee..4a46143 100644 --- a/src/soc/intel/common/block/smbus/smbus.c +++ b/src/soc/intel/common/block/smbus/smbus.c @@ -46,7 +46,7 @@ ~((1 << 8) | (1 << 10) | (1 << 12) | (1 << 14)), 0);
/* Set Receive Slave Address */ - res = find_resource(dev, PCI_BASE_ADDRESS_4); + res = probe_resource(dev, PCI_BASE_ADDRESS_4); if (res) smbus_set_slave_addr(res->base, SMBUS_SLAVE_ADDR); } diff --git a/src/soc/intel/common/block/thermal/thermal.c b/src/soc/intel/common/block/thermal/thermal.c index 13e5285..f886995 100644 --- a/src/soc/intel/common/block/thermal/thermal.c +++ b/src/soc/intel/common/block/thermal/thermal.c @@ -55,7 +55,7 @@ return; }
- res = find_resource(dev, PCI_BASE_ADDRESS_0); + res = probe_resource(dev, PCI_BASE_ADDRESS_0); if (!res) { printk(BIOS_ERR, "ERROR: PCH thermal device not found!\n"); return; diff --git a/src/soc/intel/common/block/xhci/xhci.c b/src/soc/intel/common/block/xhci/xhci.c index 9adcbfa..5b19fc9 100644 --- a/src/soc/intel/common/block/xhci/xhci.c +++ b/src/soc/intel/common/block/xhci/xhci.c @@ -33,7 +33,7 @@ return false;
/* Calculate port status register address and read the status */ - res = find_resource(PCH_DEV_XHCI, PCI_BASE_ADDRESS_0); + res = probe_resource(PCH_DEV_XHCI, PCI_BASE_ADDRESS_0); /* If the memory BAR is not allocated for XHCI, leave the devices enabled */ if (!res) return true; diff --git a/src/soc/intel/denverton_ns/uart.c b/src/soc/intel/denverton_ns/uart.c index 8084d26..9d72642 100644 --- a/src/soc/intel/denverton_ns/uart.c +++ b/src/soc/intel/denverton_ns/uart.c @@ -22,13 +22,13 @@ pci_dev_read_resources(dev); if (!CONFIG(LEGACY_UART_MODE)) return; - struct resource *res = find_resource(dev, PCI_BASE_ADDRESS_0); + struct resource *res = probe_resource(dev, PCI_BASE_ADDRESS_0); if (res == NULL) return; res->size = 0x8; res->flags = IORESOURCE_IO | IORESOURCE_ASSIGNED | IORESOURCE_FIXED; /* Do not configure membar */ - res = find_resource(dev, PCI_BASE_ADDRESS_1); + res = probe_resource(dev, PCI_BASE_ADDRESS_1); if (res != NULL) res->flags = 0; compact_resources(dev); diff --git a/src/soc/intel/jasperlake/xhci.c b/src/soc/intel/jasperlake/xhci.c index 7566379..49f919d 100644 --- a/src/soc/intel/jasperlake/xhci.c +++ b/src/soc/intel/jasperlake/xhci.c @@ -31,7 +31,7 @@ static void set_xhci_lfps_sampling_offtime(struct device *dev, uint8_t time_ms) { void *addr; - const struct resource *res = find_resource(dev, PCI_BASE_ADDRESS_0); + const struct resource *res = probe_resource(dev, PCI_BASE_ADDRESS_0);
if (!res) return; diff --git a/src/soc/intel/skylake/graphics.c b/src/soc/intel/skylake/graphics.c index 786ba2d..98b469c 100644 --- a/src/soc/intel/skylake/graphics.c +++ b/src/soc/intel/skylake/graphics.c @@ -24,7 +24,7 @@
panel_cfg = &conf->panel_cfg;
- mmio_res = find_resource(dev, PCI_BASE_ADDRESS_0); + mmio_res = probe_resource(dev, PCI_BASE_ADDRESS_0); if (!mmio_res || !mmio_res->base) return; base = (void *)(uintptr_t)mmio_res->base;