Populate Protocol property in Item.Drive interface
By populating this property, bmcweb can populate the "Protocol"
property in the Drive schema.
Tested:
$ busctl get-property xyz.openbmc_project.eStoraged \
/xyz/openbmc_project/inventory/storage/mmcblk0 \
xyz.openbmc_project.Inventory.Item.Drive Protocol
s "xyz.openbmc_project.Inventory.Item.Drive.DriveProtocol.eMMC"
Signed-off-by: John Wedig <johnwedig@google.com>
Change-Id: I2bd19190c445ce57f3d867ffbb437c1a4a370b51
diff --git a/src/util.cpp b/src/util.cpp
index 7bccdb1..fc32f0e 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -203,15 +203,18 @@
}
/*
- * Determine the drive type to report for this device. Note that we only
- * support eMMC currently, so report an error for any other device types.
+ * Determine the drive type and protocol to report for this device. Note
+ * that we only support eMMC currently, so report an error for any other
+ * device types.
*/
std::string deviceType = std::get<std::string>(typeVariant);
- /* drive type to report in the Item.Drive dbus interface */
+ /* drive type and protocol to report in the Item.Drive dbus interface */
std::string driveType;
+ std::string driveProtocol;
if (deviceType.compare("EmmcDevice") == 0)
{
driveType = "SSD";
+ driveProtocol = "eMMC";
}
else
{
@@ -253,9 +256,10 @@
deviceFile /= deviceName;
std::string luksName = "luks-" + deviceName.string();
- return DeviceInfo{
- deviceFile, sysfsDir, luksName, locationCode,
- eraseMaxGeometry, eraseMinGeometry, driveType};
+ return DeviceInfo{deviceFile, sysfsDir,
+ luksName, locationCode,
+ eraseMaxGeometry, eraseMinGeometry,
+ driveType, driveProtocol};
}
}
catch (...)