Add Connector.Slot interface to CPU and DIMM
Processor and memory present in SMBIOS tables(type 4 an type 17) are
socketed and replaceable. It is desirable to have the
xyz.openbmc_project.Inventory.Connector.Slot interface, which
differentiates from embedded items that have
xyz.openbmc_project.Inventory.Connector.Embedded interface.
Tested:
Cpu and memory DBus objects show
xyz.openbmc_project.Inventory.Connector.Slot interface.
Signed-off-by: Jie Yang <jjy@google.com>
Change-Id: I8cc24347ee62a7a077a2ac757863ac9895f807e5
diff --git a/include/cpu.hpp b/include/cpu.hpp
index 96cb367..395d528 100644
--- a/include/cpu.hpp
+++ b/include/cpu.hpp
@@ -17,6 +17,7 @@
#pragma once
#include "smbios_mdrv2.hpp"
+#include <xyz/openbmc_project/Inventory/Connector/Slot/server.hpp>
#include <xyz/openbmc_project/Inventory/Decorator/Asset/server.hpp>
#include <xyz/openbmc_project/Inventory/Decorator/LocationCode/server.hpp>
#include <xyz/openbmc_project/Inventory/Decorator/Revision/server.hpp>
@@ -35,6 +36,8 @@
sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::Asset;
using location =
sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::LocationCode;
+using connector =
+ sdbusplus::xyz::openbmc_project::Inventory::Connector::server::Slot;
using processor = sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cpu;
using Item = sdbusplus::xyz::openbmc_project::Inventory::server::Item;
@@ -93,7 +96,9 @@
std::nullopt,
std::nullopt};
-class Cpu : sdbusplus::server::object_t<processor, asset, location, rev, Item>
+class Cpu :
+ sdbusplus::server::object_t<processor, asset, location, connector, rev,
+ Item>
{
public:
Cpu() = delete;
@@ -105,8 +110,8 @@
Cpu(sdbusplus::bus::bus& bus, const std::string& objPath,
const uint8_t& cpuId, uint8_t* smbiosTableStorage) :
- sdbusplus::server::object_t<processor, asset, location, rev, Item>(
- bus, objPath.c_str()),
+ sdbusplus::server::object_t<processor, asset, location, connector, rev,
+ Item>(bus, objPath.c_str()),
cpuNum(cpuId), storage(smbiosTableStorage)
{
infoUpdate();
diff --git a/include/dimm.hpp b/include/dimm.hpp
index ec1e32c..9f1eb48 100644
--- a/include/dimm.hpp
+++ b/include/dimm.hpp
@@ -17,6 +17,7 @@
#pragma once
#include "smbios_mdrv2.hpp"
+#include <xyz/openbmc_project/Inventory/Connector/Slot/server.hpp>
#include <xyz/openbmc_project/Inventory/Decorator/Asset/server.hpp>
#include <xyz/openbmc_project/Inventory/Decorator/LocationCode/server.hpp>
#include <xyz/openbmc_project/Inventory/Item/Dimm/server.hpp>
@@ -40,6 +41,8 @@
sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
LocationCode>,
sdbusplus::server::object::object<
+ sdbusplus::xyz::openbmc_project::Inventory::Connector::server::Slot>,
+ sdbusplus::server::object::object<
sdbusplus::xyz::openbmc_project::Inventory::server::Item>
{
public:
@@ -63,6 +66,9 @@
sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
LocationCode>(bus, objPath.c_str()),
sdbusplus::server::object::object<
+ sdbusplus::xyz::openbmc_project::Inventory::Connector::server::
+ Slot>(bus, objPath.c_str()),
+ sdbusplus::server::object::object<
sdbusplus::xyz::openbmc_project::Inventory::server::Item>(
bus, objPath.c_str()),
dimmNum(dimmId), storage(smbiosTableStorage)