From 00d99a93124a6890bacc4abec478cb6d2eee9de7 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Thu, 13 Apr 2017 17:06:16 -0500 Subject: [PATCH] UPSTREAM: arch/x86/acpi: Allow "transparent" ACPI device names Certain devices, such as the northbridge on AMD Opteron systems, do not require a node in the ACPI device path. Allow such devices to be passed over by the ACPI path generator if the device-specific ACPI name function returns a zero-length (non-NULL) string. BUG=none BRANCH=none TEST=none Change-Id: Ia6c018bca0641a6cd04803715b1a5ff8d47ef8f5 Signed-off-by: Patrick Georgi Original-Commit-Id: aeb6101a78d0b75fc02a919281f341db64938185 Original-Change-Id: Iffffc9a30b395b0bd6d60e411439a437e89f554e Original-Signed-off-by: Timothy Pearson Original-Reviewed-on: https://review.coreboot.org/19281 Original-Tested-by: build bot (Jenkins) Original-Tested-by: Raptor Engineering Automated Test Stand Original-Reviewed-by: Duncan Laurie Original-Reviewed-by: Aaron Durbin Reviewed-on: https://chromium-review.googlesource.com/480295 --- src/arch/x86/acpi_device.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/arch/x86/acpi_device.c b/src/arch/x86/acpi_device.c index f4f1c4c3b5..49439cc4a9 100644 --- a/src/arch/x86/acpi_device.c +++ b/src/arch/x86/acpi_device.c @@ -113,7 +113,9 @@ static size_t acpi_device_path_fill(struct device *dev, char *buf, /* Fill in the path from the root device */ next += snprintf(buf + next, buf_len - next, "%s%s", - dev->path.type == DEVICE_PATH_ROOT ? "" : ".", name); + (dev->path.type == DEVICE_PATH_ROOT + || (strlen(name) == 0)) ? + "" : ".", name); return next; }