pldmtool: oem: ibm: untangle header dependencies

With the oem-ibm meson option enabled, pldm_platform_command.cpp has the
following header dependency chain:

requester/handler.hpp
host-bmc/dbus_to_event_handler.hpp
libpldmresponder/platform.hpp
oem/ibm/libpldmresponder/inband_code_update.hpp
oem/ibm/libpldmresponder/oem_ibm_handler.hpp
pldmtool/oem/ibm/oem_ibm_state_set.hpp
pldmtool/pldm_platform_cmd.cpp

requester/handler.hpp has a dependency on sd_event.  Since sd_event is
not listed as a dependency of pldmtool, this results in a compile
failure when building in subproject mode.

Clearly it isn't appropriate to add sd_event as a pldmtool dependency.
To fix the compile failure, break the include dependency chain between
oem_ibm_state_set.hpp and oem_ibm_handler.hpp.  This is likely an
intra-pldm domain violation anyway (pldmtool <-> libpldmresponder).

oem_ibm_state_set.hpp includes oem_ibm_handler.hpp to make use of a
single constant: PLDM_OEM_IBM_ENTITY_FIRMWARE_UPDATE.  To break the
dependency chain, PLDM_OEM_IBM_ENTITY_FIRMWARE_UPDATE is moved to an oem
version of entity.h.

Change-Id: I2b54ad9a7559ecf5fbe01c6a52a24428e56df77e
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/oem/ibm/libpldm/entity_oem_ibm.h b/oem/ibm/libpldm/entity_oem_ibm.h
new file mode 100644
index 0000000..636167b
--- /dev/null
+++ b/oem/ibm/libpldm/entity_oem_ibm.h
@@ -0,0 +1,16 @@
+#ifndef OEM_IBM_ENTITY_H
+#define OEM_IBM_ENTITY_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum pldm_oem_ibm_entity_id_codes {
+	PLDM_OEM_IBM_ENTITY_FIRMWARE_UPDATE = 24577,
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* OEM_IBM_ENTITY_H */
diff --git a/oem/ibm/libpldmresponder/oem_ibm_handler.cpp b/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
index 138ef01..efa4790 100644
--- a/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
+++ b/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
@@ -7,6 +7,8 @@
 #include "libpldmresponder/file_io.hpp"
 #include "libpldmresponder/pdr_utils.hpp"
 
+#include <libpldm/entity_oem_ibm.h>
+
 using namespace pldm::pdr;
 using namespace pldm::utils;
 
diff --git a/oem/ibm/libpldmresponder/oem_ibm_handler.hpp b/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
index e097b3a..ce69cf1 100644
--- a/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
+++ b/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
@@ -17,7 +17,6 @@
 {
 namespace oem_ibm_platform
 {
-static constexpr auto PLDM_OEM_IBM_ENTITY_FIRMWARE_UPDATE = 24577;
 constexpr uint16_t ENTITY_INSTANCE_0 = 0;
 constexpr uint16_t ENTITY_INSTANCE_1 = 1;
 
diff --git a/oem/ibm/test/libpldmresponder_oem_platform_test.cpp b/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
index d124a39..e9d02aa 100644
--- a/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
+++ b/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
@@ -9,6 +9,8 @@
 #include "oem/ibm/libpldmresponder/inband_code_update.hpp"
 #include "oem/ibm/libpldmresponder/oem_ibm_handler.hpp"
 
+#include <libpldm/entity_oem_ibm.h>
+
 #include <sdeventplus/event.hpp>
 
 #include <iostream>