gbmc-release-23.18.x: Fix PCIeDeviceCollectionGet

Two issues with current implementation:

1. Our systems dont have our PCIeDevices as xyz.openbmc_project.Inventory.Item.PCIeDevice but rather xyz.openbmc_project.Inventory.Item.PCIe.Device

2. Subtree that is queried is /xyz/openbmc_project/inventory but our PCIe objects are under /xyz/openbmc_project/PCIe

PCIe Util function exists and does the job already so switching over to that.

Tested: Queried PCIeDevices and Collection resource along with expand.

Cherry-picking `https://gbmc-private-review.git.corp.google.com/c/gbmcweb/+/3960` into 23.18.x

Google-Bug-Id: 291105003
Change-Id: Iee8b225b229e5ca16a535c1308f7dabf99fee608
Signed-off-by: Edward Lee <edwarddl@google.com>
diff --git a/recipes-phosphor/interfaces/bmcweb/0001-Fix-PCIeDeviceCollectionGet.patch b/recipes-phosphor/interfaces/bmcweb/0001-Fix-PCIeDeviceCollectionGet.patch
new file mode 100644
index 0000000..3111cdf
--- /dev/null
+++ b/recipes-phosphor/interfaces/bmcweb/0001-Fix-PCIeDeviceCollectionGet.patch
@@ -0,0 +1,42 @@
+From f09368cfa4c56e926245cafc8d7e6d1c9180d213 Mon Sep 17 00:00:00 2001
+From: Edward Lee <edwarddl@google.com>
+Date: Thu, 13 Jul 2023 21:44:25 +0000
+Subject: [PATCH] Fix PCIeDeviceCollectionGet
+
+Two issues with current implementation:
+
+1. Our systems dont have our PCIeDevices as xyz.openbmc_project.Inventory.Item.PCIeDevice but rather xyz.openbmc_project.Inventory.Item.PCIe.Device
+
+2. Subtree that is queried is /xyz/openbmc_project/inventory but our PCIe objects are under /xyz/openbmc_project/PCIe
+
+PCIe Util function exists and does the job already so switching over to that.
+
+Tested: Queried PCIeDevices and Collection resource along with expand.
+
+Google-Bug-Id: 291105003
+Change-Id: I587d0a2ecfcbe4dc3c626fd35cd2bc56c250f2be
+Signed-off-by: Edward Lee <edwarddl@google.com>
+---
+ redfish-core/lib/pcie.hpp | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/redfish-core/lib/pcie.hpp b/redfish-core/lib/pcie.hpp
+index 97f1e245..a5a54fbf 100644
+--- a/redfish-core/lib/pcie.hpp
++++ b/redfish-core/lib/pcie.hpp
+@@ -102,11 +102,7 @@ static inline void handlePCIeDeviceCollectionGet(
+     aResp->res.jsonValue["Members"] = nlohmann::json::array();
+     aResp->res.jsonValue["Members@odata.count"] = 0;
+ 
+-    constexpr std::array<std::string_view, 1> interfaces{
+-        "xyz.openbmc_project.Inventory.Item.PCIeDevice"};
+-    collection_util::getCollectionMembers(
+-        aResp, boost::urls::url("/redfish/v1/Systems/system/PCIeDevices"),
+-        interfaces);
++    getPCIeDeviceList(aResp, "Members");
+ }
+ 
+ inline void requestRoutesSystemPCIeDeviceCollection(App& app)
+-- 
+2.41.0.585.gd2178a4bd4-goog
+
diff --git a/recipes-phosphor/interfaces/bmcweb_%.bbappend b/recipes-phosphor/interfaces/bmcweb_%.bbappend
index 366fb76..40d5cc0 100644
--- a/recipes-phosphor/interfaces/bmcweb_%.bbappend
+++ b/recipes-phosphor/interfaces/bmcweb_%.bbappend
@@ -76,6 +76,7 @@
   file://0022-bmcweb-Add-RelatedItem-to-DIMM-sensors.patch \
   file://0001-Fix-RelatedItems-when-fetching-individual-sensors.patch \
   file://DOWNSTREAM_0047-Enable-PCIe-Slots-implementation.patch \
+  file://0001-Fix-PCIeDeviceCollectionGet.patch \
 "
 
 # Multi-Host related patches