device: Add device path display support

Add an optional routine to translate the device path types into a string
for display.

TEST=Build and run on Galileo

Change-Id: Iea5d0a2430d9a8546105324e2beda0955210dca9
Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com>
Reviewed-on: https://review.coreboot.org/13715
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
diff --git a/src/include/device/path.h b/src/include/device/path.h
index 00fb727..ba7661d 100644
--- a/src/include/device/path.h
+++ b/src/include/device/path.h
@@ -13,8 +13,27 @@
 	DEVICE_PATH_CPU,
 	DEVICE_PATH_CPU_BUS,
 	DEVICE_PATH_IOAPIC,
+
+	/*
+	 * When adding path types to this table, please also update the
+	 * DEVICE_PATH_NAMES macro below.
+	 */
 };
 
+#define DEVICE_PATH_NAMES {			\
+		"DEVICE_PATH_NONE",		\
+		"DEVICE_PATH_ROOT",		\
+		"DEVICE_PATH_PCI",		\
+		"DEVICE_PATH_PNP",		\
+		"DEVICE_PATH_I2C",		\
+		"DEVICE_PATH_APIC",		\
+		"DEVICE_PATH_DOMAIN",		\
+		"DEVICE_PATH_CPU_CLUSTER",	\
+		"DEVICE_PATH_CPU",		\
+		"DEVICE_PATH_CPU_BUS",		\
+		"DEVICE_PATH_IOAPIC"		\
+}
+
 struct domain_path
 {
 	unsigned domain;
@@ -86,5 +105,6 @@
 #define BUS_PATH_MAX (DEVICE_PATH_MAX+10)
 
 extern int path_eq(struct device_path *path1, struct device_path *path2);
+extern const char *dev_path_name(enum device_path_type type);
 
 #endif /* DEVICE_PATH_H */