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 (...)