diff options
author | Cheng C Yang <cheng.c.yang@intel.com> | 2019-10-10 18:27:13 +0300 |
---|---|---|
committer | Yang, Cheng C <cheng.c.yang@intel.com> | 2019-10-11 04:33:15 +0300 |
commit | 6e1484623c46ea69eb4a3bbe913dd2e200ebbf25 (patch) | |
tree | d5df2432032ecc35665d4f594b72768372cd4bc7 /services | |
parent | c44a08f0020f48c16874d89a99186d09df68d7bb (diff) | |
download | provingground-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>
Diffstat (limited to 'services')
-rw-r--r-- | services/smbios-mdrv2/include/dimm.hpp | 17 | ||||
-rw-r--r-- | services/smbios-mdrv2/src/dimm.cpp | 24 |
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) |