summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCheng C Yang <cheng.c.yang@intel.com>2019-10-10 18:27:13 +0300
committerYang, Cheng C <cheng.c.yang@intel.com>2019-10-11 04:33:15 +0300
commit6e1484623c46ea69eb4a3bbe913dd2e200ebbf25 (patch)
treed5df2432032ecc35665d4f594b72768372cd4bc7
parentc44a08f0020f48c16874d89a99186d09df68d7bb (diff)
downloadprovingground-6e1484623c46ea69eb4a3bbe913dd2e200ebbf25.tar.xz
Use the properties in Inventory Asset
Use partNumber, SerialNumber and Manufacturer in Inventory/Decorator/Asset instead of Inventory/Item/Dimm Tested: In https://BMC_IP/redfish/v1/Systems/system/Memory/dimm2 PartNumber, SerialNumber and Manufacturer should show as { "@odata.context": "/redfish/v1/$metadata#Memory.Memory", "@odata.id": "/redfish/v1/Systems/system/Memory/dimm2", "@odata.type": "#Memory.v1_6_0.Memory", "CapacityMiB": 16384, "DataWidthBits": 64, "Id": "dimm2", "Manufacturer": "Samsung", "MemoryDeviceType": "DDR4", "MemoryType": "DRAM", "Name": "DIMM Slot", "PartNumber": "M393A2G40DB0-CPB ", "SerialNumber": "0209718C", "Status": { "Health": "OK", "State": "Enabled" } Change-Id: I029bf90f99999943d48ddeb94e7dc955e410c928 Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
-rw-r--r--services/smbios-mdrv2/include/dimm.hpp17
-rw-r--r--services/smbios-mdrv2/src/dimm.cpp24
2 files changed, 24 insertions, 17 deletions
diff --git a/services/smbios-mdrv2/include/dimm.hpp b/services/smbios-mdrv2/include/dimm.hpp
index 05131f5..45a71d7 100644
--- a/services/smbios-mdrv2/include/dimm.hpp
+++ b/services/smbios-mdrv2/include/dimm.hpp
@@ -17,6 +17,7 @@
#pragma once
#include "smbios_mdrv2.hpp"
+#include <xyz/openbmc_project/Inventory/Decorator/Asset/server.hpp>
#include <xyz/openbmc_project/Inventory/Item/Dimm/server.hpp>
namespace phosphor
@@ -25,8 +26,11 @@ namespace phosphor
namespace smbios
{
-class Dimm : sdbusplus::server::object::object<
- sdbusplus::xyz::openbmc_project::Inventory::Item::server::Dimm>
+class Dimm
+ : sdbusplus::server::object::object<
+ sdbusplus::xyz::openbmc_project::Inventory::Item::server::Dimm>,
+ sdbusplus::server::object::object<
+ sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::Asset>
{
public:
Dimm() = delete;
@@ -42,6 +46,9 @@ class Dimm : sdbusplus::server::object::object<
sdbusplus::server::object::object<
sdbusplus::xyz::openbmc_project::Inventory::Item::server::Dimm>(
bus, objPath.c_str()),
+ sdbusplus::server::object::object<
+ sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
+ Asset>(bus, objPath.c_str()),
dimmNum(dimmId), storage(smbiosTableStorage)
{
memoryInfoUpdate();
@@ -55,9 +62,9 @@ class Dimm : sdbusplus::server::object::object<
std::string memoryType(std::string value) override;
std::string memoryTypeDetail(std::string value) override;
uint16_t memorySpeed(uint16_t value) override;
- std::string memoryManufacturer(std::string value) override;
- std::string memorySerialNum(std::string value) override;
- std::string memoryPartNum(std::string value) override;
+ std::string manufacturer(std::string value) override;
+ std::string serialNumber(std::string value) override;
+ std::string partNumber(std::string value) override;
uint8_t memoryAttributes(uint8_t value) override;
uint16_t memoryConfClockSpeed(uint16_t value) override;
diff --git a/services/smbios-mdrv2/src/dimm.cpp b/services/smbios-mdrv2/src/dimm.cpp
index e8c891d..fdd7ca7 100644
--- a/services/smbios-mdrv2/src/dimm.cpp
+++ b/services/smbios-mdrv2/src/dimm.cpp
@@ -169,13 +169,13 @@ void Dimm::dimmManufacturer(const uint8_t positionNum, const uint8_t structLen,
{
std::string result = positionToString(positionNum, structLen, dataIn);
- memoryManufacturer(result);
+ manufacturer(result);
}
-std::string Dimm::memoryManufacturer(std::string value)
+std::string Dimm::manufacturer(std::string value)
{
- return sdbusplus::xyz::openbmc_project::Inventory::Item::server::Dimm::
- memoryManufacturer(value);
+ return sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
+ Asset::manufacturer(value);
}
void Dimm::dimmSerialNum(const uint8_t positionNum, const uint8_t structLen,
@@ -183,13 +183,13 @@ void Dimm::dimmSerialNum(const uint8_t positionNum, const uint8_t structLen,
{
std::string result = positionToString(positionNum, structLen, dataIn);
- memorySerialNum(result);
+ serialNumber(result);
}
-std::string Dimm::memorySerialNum(std::string value)
+std::string Dimm::serialNumber(std::string value)
{
- return sdbusplus::xyz::openbmc_project::Inventory::Item::server::Dimm::
- memorySerialNum(value);
+ return sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
+ Asset::serialNumber(value);
}
void Dimm::dimmPartNum(const uint8_t positionNum, const uint8_t structLen,
@@ -197,13 +197,13 @@ void Dimm::dimmPartNum(const uint8_t positionNum, const uint8_t structLen,
{
std::string result = positionToString(positionNum, structLen, dataIn);
- memoryPartNum(result);
+ partNumber(result);
}
-std::string Dimm::memoryPartNum(std::string value)
+std::string Dimm::partNumber(std::string value)
{
- return sdbusplus::xyz::openbmc_project::Inventory::Item::server::Dimm::
- memoryPartNum(value);
+ return sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
+ Asset::partNumber(value);
}
uint8_t Dimm::memoryAttributes(uint8_t value)