tree 25417570e2253ab4fdf9abe752ea17579a34496c
parent 868935317aaa91625021ea24db0d338696afc497
author Andrew Jeffery <andrew@aj.id.au> 1682664199 +0930
committer Andrew Jeffery <andrew@aj.id.au> 1682664405 +0930

Revert "oem-ibm : New record to backplane vpd"

This reverts commit 9eee2518cabb21790dceef847eae5fe39d3c4792.

The patch in question breaks the build in multiple ways:

```
../oem/ibm/libpldmresponder/file_io_type_vpd.cpp: In member function ‘virtual int pldm::responder::keywordHandler::read(uint32_t, uint32_t&, pldm::responder::Response&, pldm::responder::oem_platform::Handler*)’:
../oem/ibm/libpldmresponder/file_io_type_vpd.cpp:30:21: error: ‘DBusHandler’ has not been declared
   30 |         auto& bus = DBusHandler::getBus();
      |                     ^~~~~~~~~~~
../oem/ibm/libpldmresponder/file_io_type_vpd.cpp:74:19: error: ‘pldm::PelSeverity’ has not been declared
   74 |             pldm::PelSeverity::ERROR);
      |                   ^~~~~~~~~~~
../oem/ibm/libpldmresponder/file_io_type_vpd.cpp:106:48: error: cannot bind non-const lvalue reference of type ‘uint32_t&’ {aka ‘unsigned int&’} to a value of type ‘long unsigned int’
  106 |     auto rc = readFile(keywrdFilePath, offset, keywrdSize, response);
      |                                                ^~~~~~~~~~
In file included from ../oem/ibm/libpldmresponder/file_io_type_vpd.hpp:3,
                 from ../oem/ibm/libpldmresponder/file_io_type_vpd.cpp:1:
../oem/ibm/libpldmresponder/file_io_by_type.hpp:90:36: note:   initializing argument 3 of ‘virtual int pldm::responder::FileHandler::readFile(const std::string&, uint32_t, uint32_t&, pldm::responder::Response&)’
   90 |                          uint32_t& length, Response& response);
      |                          ~~~~~~~~~~^~~~~~
../oem/ibm/libpldmresponder/file_io_type_vpd.cpp:114:19: error: ‘pldm::PelSeverity’ has not been declared
  114 |             pldm::PelSeverity::ERROR);
      |                   ^~~~~~~~~~~
[53/71] Compiling C++ object libpldmresponder/libpldmresponder.so.0.1.p/.._oem_ibm_libpldmresponder_file_io_by_type.cpp.o
FAILED: libpldmresponder/libpldmresponder.so.0.1.p/.._oem_ibm_libpldmresponder_file_io_by_type.cpp.o
...
responder_file_io_by_type.cpp.o -c ../oem/ibm/libpldmresponder/file_io_by_type.cpp
../oem/ibm/libpldmresponder/file_io_by_type.cpp: In function ‘std::unique_ptr<pldm::responder::FileHandler> pldm::responder::getHandlerByType(uint16_t, uint32_t)’:
../oem/ibm/libpldmresponder/file_io_by_type.cpp:173:14: error: ‘PLDM_FILE_TYPE_PSPD_VPD_PDD_KEYWORD’ was not declared in this scope
  173 |         case PLDM_FILE_TYPE_PSPD_VPD_PDD_KEYWORD:
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
```

Let's get that fixed and try again.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I39f0894509d5ef8420320897999f654896354281
