Add name field for device
The constant field "name" in chip_operations is common to multiple
different devices within a chip and cannot reflect the actual device
as found on the platform.
The intention is that a driver sets dev->name as part of the device
enumeration sequence with the detected hardware type and revision.
The field is for debug print use only.
Change-Id: Ib7bf90ba3c618ad0cb715d80d6a937ceaae0adcf
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/1634
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
diff --git a/src/devices/device_util.c b/src/devices/device_util.c
index 5cf5eab..224c58e 100644
--- a/src/devices/device_util.c
+++ b/src/devices/device_util.c
@@ -230,7 +230,9 @@
const char *dev_name(device_t dev)
{
- if (dev->chip_ops && dev->chip_ops->name)
+ if (dev->name)
+ return dev->name;
+ else if (dev->chip_ops && dev->chip_ops->name)
return dev->chip_ops->name;
else
return "unknown";
diff --git a/src/include/device/device.h b/src/include/device/device.h
index ab5ab14..329e3b7 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -101,6 +101,7 @@
struct device_operations *ops;
#ifndef __PRE_RAM__
const struct chip_operations *chip_ops;
+ const char *name;
#endif
ROMSTAGE_CONST void *chip_info;
};