diff options
author | Kevin Cody-Little <kcodyjr@gmail.com> | 2018-05-09 14:22:15 -0400 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2018-05-14 07:38:30 +0000 |
commit | 06d23234f3ecda3a0be777599f693186c0976db1 (patch) | |
tree | 1cca5a9aefa0d3c937d33f9be31b39736eae3c52 | |
parent | b3e0220a7df58a4e17b110ceccfad3e28f478578 (diff) | |
download | coreboot-06d23234f3ecda3a0be777599f693186c0976db1.tar.xz |
agesa/family16kb/northbridge: report acpi namespace
Add a function domain_acpi_name to return "PCI0", rather than
falling back to the parent' device's "\_SB" label. This repair is
required for the LPC TPM device to register its presence without
blowing up the table and preventing the payload from finding SATA.
Before change, the TPM device reported as:
\_SB.\_SB.LPC0.TPM
After change, the TPM device reports as:
\_SB.PCI0.LPC0.TPM
A separate change submission will correct "LPC0" as well.
Change-Id: I5e8d4715c9b42f50c84dd65818e4b0fdfc9d54f9
Signed-off-by: Kevin Cody-Little <kcodyjr@gmail.com>
Reviewed-on: https://review.coreboot.org/26204
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Nico Huber <nico.h@gmx.de>
-rw-r--r-- | src/northbridge/amd/agesa/family16kb/northbridge.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/northbridge/amd/agesa/family16kb/northbridge.c b/src/northbridge/amd/agesa/family16kb/northbridge.c index f667f6f83b..8e5e4725d8 100644 --- a/src/northbridge/amd/agesa/family16kb/northbridge.c +++ b/src/northbridge/amd/agesa/family16kb/northbridge.c @@ -795,11 +795,20 @@ static void domain_set_resources(device_t dev) } } +static const char *domain_acpi_name(const struct device *dev) +{ + if (dev->path.type == DEVICE_PATH_DOMAIN) + return "PCI0"; + + return NULL; +} + static struct device_operations pci_domain_ops = { .read_resources = domain_read_resources, .set_resources = domain_set_resources, .init = DEVICE_NOOP, .scan_bus = pci_domain_scan_bus, + .acpi_name = domain_acpi_name, }; static void sysconf_init(device_t dev) // first node |