Felix Held has uploaded this change for review.

View Change

pnp_device: don't treat missing PNP_MSC devicetree entry as error

Change-Id: I8da01cd462225b633bf2043ab33b35aeddc8d55a
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
---
M src/device/pnp_device.c
1 file changed, 15 insertions(+), 3 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/68/27668/1
diff --git a/src/device/pnp_device.c b/src/device/pnp_device.c
index 09a2748..e56b00d 100644
--- a/src/device/pnp_device.c
+++ b/src/device/pnp_device.c
@@ -118,9 +118,21 @@
static void pnp_set_resource(struct device *dev, struct resource *resource)
{
if (!(resource->flags & IORESOURCE_ASSIGNED)) {
- printk(BIOS_ERR, "ERROR: %s %02lx %s size: 0x%010llx "
- "not assigned\n", dev_path(dev), resource->index,
- resource_type(resource), resource->size);
+ /* The PNP_MSC super IO registers have the IRQ flag set. If no
+ value is assigned in the devicetree, the corresponding
+ PNP_MSC register doesn't get written, which should be printed
+ as warning and not as error. */
+ if (resource->flags & IORESOURCE_IRQ &&
+ (resource->index != PNP_IDX_IRQ0) &&
+ (resource->index != PNP_IDX_IRQ1))
+ printk(BIOS_WARNING, "WARNING: %s %02lx %s size: "
+ "0x%010llx not assigned\n", dev_path(dev),
+ resource->index, resource_type(resource),
+ resource->size);
+ else
+ printk(BIOS_ERR, "ERROR: %s %02lx %s size: 0x%010llx "
+ "not assigned\n", dev_path(dev), resource->index,
+ resource_type(resource), resource->size);
return;
}


To view, visit change 27668. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8da01cd462225b633bf2043ab33b35aeddc8d55a
Gerrit-Change-Number: 27668
Gerrit-PatchSet: 1
Gerrit-Owner: Felix Held <felix-coreboot@felixheld.de>