psu-ng: IBM FN goes to SparePartNumber

When reading the IBM FN (FRU_NUMBER), add it to the SparePartNumber
asset properties in the D-Bus inventory.

Tested:
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> PartNumber
s "3FP210"
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> PartNumber
s "3FP210"
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> SparePartNumber
s ""
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> SparePartNumber
s ""
root@p10bmc:~#
root@p10bmc:~# # patch needed in /usr
root@p10bmc:~# mkdir -p /tmp/persist/usr
root@p10bmc:~# mkdir -p /tmp/persist/work/usr
root@p10bmc:~# mount -t overlay -o
lowerdir=/usr,upperdir=/tmp/persist/usr,workdir=/tmp/persist/work/usr
overlay /usr
root@p10bmc:~# md5sum /usr/bin/phosphor-psu-monitor
/tmp/phosphor-psu-monitor
ac1a50698a63e53dd3819b9f3c78c378  /usr/bin/phosphor-psu-monitor
4a2806d1a3494d1dd7176cd7b9dadf1a  /tmp/phosphor-psu-monitor
root@p10bmc:~# mv /tmp/phosphor-psu-monitor
/usr/bin/phosphor-psu-monitor
root@p10bmc:~# md5sum /usr/bin/phosphor-psu-monitor
/tmp/phosphor-psu-monitor
4a2806d1a3494d1dd7176cd7b9dadf1a  /usr/bin/phosphor-psu-monitor
md5sum: can't open '/tmp/phosphor-psu-monitor': No such file or
directory
root@p10bmc:~# systemctl daemon-reload
root@p10bmc:~# systemctl restart phosphor-psu-monitor.service
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> PartNumber
s "3FP210"
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> PartNumber
s "3FP210"
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> SparePartNumber
s "3FP211"
root@p10bmc:~#
root@p10bmc:~# busctl get-property xyz.openbmc_project.Inventory.Manager \
> /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1 \
> xyz.openbmc_project.Inventory.Decorator.Asset \
> SparePartNumber
s "3FP211"
root@p10bmc:~#

Change-Id: I4aaa906f576894f62fa36083c40c89d935d646a8
Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
diff --git a/phosphor-power-supply/power_supply.cpp b/phosphor-power-supply/power_supply.cpp
index ea0d172..908f04f 100644
--- a/phosphor-power-supply/power_supply.cpp
+++ b/phosphor-power-supply/power_supply.cpp
@@ -592,6 +592,7 @@
         try
         {
             fn = pmbusIntf->readString(FRU_NUMBER, Type::HwmonDeviceDebug);
+            assetProps.emplace(SPARE_PN_PROP, fn);
         }
         catch (const ReadFailure& e)
         {
diff --git a/phosphor-power-supply/power_supply.hpp b/phosphor-power-supply/power_supply.hpp
index 320fb65..ec523ae 100644
--- a/phosphor-power-supply/power_supply.hpp
+++ b/phosphor-power-supply/power_supply.hpp
@@ -26,6 +26,7 @@
 // The D-Bus property name to update with the CCIN value.
 constexpr auto MODEL_PROP = "Model";
 constexpr auto PN_PROP = "PartNumber";
+constexpr auto SPARE_PN_PROP = "SparePartNumber";
 constexpr auto SN_PROP = "SerialNumber";
 constexpr auto VERSION_PROP = "Version";