summaryrefslogtreecommitdiff
path: root/meta-ibs/meta-cp2-5422/recipes-phosphor/interfaces/bmcweb/0003-add-new-dimm-fields.patch
blob: 13b880457ed3727257cda8efa1b3af34d202ad21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
From 824ef06312f5457fa6ab7d8ef08d160f3dc888a9 Mon Sep 17 00:00:00 2001
From: eportnov <eportnov@ibs.ru>
Date: Fri, 8 Jul 2022 16:30:51 +0300
Subject: [PATCH] add new dimm fields

---
 redfish-core/lib/memory.hpp | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/redfish-core/lib/memory.hpp b/redfish-core/lib/memory.hpp
index 3c10130e5..be3af6fb3 100644
--- a/redfish-core/lib/memory.hpp
+++ b/redfish-core/lib/memory.hpp
@@ -31,6 +31,10 @@ namespace redfish
 
 inline std::string translateMemoryTypeToRedfish(const std::string& memoryType)
 {
+    if (memoryType == "xyz.openbmc_project.Inventory.Item.Dimm.DeviceType.DRAM")
+    {
+        return "DRAM";
+    }
     if (memoryType == "xyz.openbmc_project.Inventory.Item.Dimm.DeviceType.DDR")
     {
         return "DDR";
@@ -470,6 +474,7 @@ inline void
                 messages::internalError(aResp->res);
                 return;
             }
+            aResp->res.jsonValue["MemorySize"] = (*memorySize);
             aResp->res.jsonValue[jsonPtr]["CapacityMiB"] = (*memorySize >> 10);
         }
         else if (property.first == "PartNumber")
@@ -634,7 +639,7 @@ inline void
                 // so just leave off
                 if (!memoryDeviceType.empty())
                 {
-                    aResp->res.jsonValue[jsonPtr]["MemoryDeviceType"] =
+                    aResp->res.jsonValue[jsonPtr]["MemoryType"] =
                         memoryDeviceType;
                 }
                 if (value->find("DDR") != std::string::npos)
@@ -647,6 +652,24 @@ inline void
                 }
             }
         }
+        else if (property.first == "Model")
+        {
+            const auto* value =
+                std::get_if<std::string>(&property.second);
+            if (value != nullptr)
+            {
+                aResp->res.jsonValue["Model"] = *value;
+            }
+        }
+        else if (property.first == "Description")
+        {
+            const auto* value =
+                std::get_if<std::string>(&property.second);
+            if (value != nullptr)
+            {
+                aResp->res.jsonValue["Description"] = *value;
+            }
+        }
         // memory location interface
         else if (property.first == "Channel" ||
                  property.first == "MemoryController" ||
-- 
2.35.1