build: Convert project to meson and C++20

Cleanedup all build warnings and updated the header to point to the
latest ipmid.

Change-Id: Ife89b51cda0137c8632fc24525efc131817e07b8
Signed-off-by: Willy Tu <wltu@google.com>
diff --git a/src/appcommands.cpp b/src/appcommands.cpp
index e8571ce..ce5c13b 100644
--- a/src/appcommands.cpp
+++ b/src/appcommands.cpp
@@ -54,7 +54,7 @@
 void printGUID(uint8_t* guid, off_t offset)
 {
     std::cout << "Read GUID from offset : " << offset << " :\n";
-    for (int i = 0; i < GUID_SIZE; i++)
+    for (size_t i = 0; i < GUID_SIZE; i++)
     {
         int data = guid[i];
         std::cout << std::hex << data << " ";
@@ -112,9 +112,9 @@
 //----------------------------------------------------------------------
 // Get Self Test Results (IPMI/Section 20.4) (CMD_APP_GET_SELFTEST_RESULTS)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiAppGetSTResults(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                               ipmi_request_t request, ipmi_response_t response,
-                               ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiAppGetSTResults(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t,
+                               ipmi_response_t response,
+                               ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
 
@@ -130,9 +130,9 @@
 //----------------------------------------------------------------------
 // Manufacturing Test On (IPMI/Section 20.5) (CMD_APP_MFR_TEST_ON)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiAppMfrTestOn(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                            ipmi_request_t request, ipmi_response_t response,
-                            ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiAppMfrTestOn(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t request,
+                            ipmi_response_t, ipmi_data_len_t data_len,
+                            ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     std::string mfrTest = "sled-cycle";
@@ -156,11 +156,9 @@
 //----------------------------------------------------------------------
 // Set Global Enables (CMD_APP_SET_GLOBAL_ENABLES)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiAppSetGlobalEnables(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                                   ipmi_request_t request,
-                                   ipmi_response_t response,
-                                   ipmi_data_len_t data_len,
-                                   ipmi_context_t context)
+ipmi_ret_t ipmiAppSetGlobalEnables(ipmi_netfn_t, ipmi_cmd_t,
+                                   ipmi_request_t request, ipmi_response_t,
+                                   ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
 
@@ -173,11 +171,9 @@
 //----------------------------------------------------------------------
 // Get Global Enables (CMD_APP_GET_GLOBAL_ENABLES)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiAppGetGlobalEnables(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                                   ipmi_request_t request,
+ipmi_ret_t ipmiAppGetGlobalEnables(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t,
                                    ipmi_response_t response,
-                                   ipmi_data_len_t data_len,
-                                   ipmi_context_t context)
+                                   ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
 
@@ -190,11 +186,9 @@
 //----------------------------------------------------------------------
 // Clear Message flags (IPMI/Section 22.3) (CMD_APP_CLEAR_MESSAGE_FLAGS)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiAppClearMsgFlags(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                                ipmi_request_t request,
-                                ipmi_response_t response,
-                                ipmi_data_len_t data_len,
-                                ipmi_context_t context)
+ipmi_ret_t ipmiAppClearMsgFlags(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t,
+                                ipmi_response_t, ipmi_data_len_t data_len,
+                                ipmi_context_t)
 {
     // Do Nothing and just return success
     *data_len = 0;
@@ -221,9 +215,9 @@
 }
 
 #else
-ipmi_ret_t ipmiAppGetSysGUID(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                             ipmi_request_t request, ipmi_response_t response,
-                             ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiAppGetSysGUID(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t,
+                             ipmi_response_t response, ipmi_data_len_t data_len,
+                             ipmi_context_t)
 {
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
     if (getSystemGUID(res))
@@ -290,11 +284,9 @@
 //----------------------------------------------------------------------
 // Set Sys Info Params (IPMI/Sec 22.14a) (CMD_APP_SET_SYS_INFO_PARAMS)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiAppSetSysInfoParams(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                                   ipmi_request_t request,
-                                   ipmi_response_t response,
-                                   ipmi_data_len_t data_len,
-                                   ipmi_context_t context)
+ipmi_ret_t ipmiAppSetSysInfoParams(ipmi_netfn_t, ipmi_cmd_t,
+                                   ipmi_request_t request, ipmi_response_t,
+                                   ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
 
@@ -364,17 +356,16 @@
 //----------------------------------------------------------------------
 // Get Sys Info Params (IPMI/Sec 22.14b) (CMD_APP_GET_SYS_INFO_PARAMS)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiAppGetSysInfoParams(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiAppGetSysInfoParams(ipmi_netfn_t, ipmi_cmd_t,
                                    ipmi_request_t request,
                                    ipmi_response_t response,
-                                   ipmi_data_len_t data_len,
-                                   ipmi_context_t context)
+                                   ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
 
     uint8_t param = req[1];
-    uint8_t len;
+    int len;
 
     *res++ = 1; // Parameter revision
     *data_len = 1;
diff --git a/src/biccommands.cpp b/src/biccommands.cpp
index b5a6355..a1be5a6 100644
--- a/src/biccommands.cpp
+++ b/src/biccommands.cpp
@@ -114,7 +114,7 @@
     }
 }
 
-static void registerBICFunctions(void)
+[[maybe_unused]] static void registerBICFunctions(void)
 {
 
     phosphor::logging::log<phosphor::logging::level::INFO>(
diff --git a/src/oemcommands.cpp b/src/oemcommands.cpp
index abcfc83..55fcbf1 100644
--- a/src/oemcommands.cpp
+++ b/src/oemcommands.cpp
@@ -269,7 +269,7 @@
 int strToBytes(std::string& str, uint8_t* data)
 {
     std::string sstr;
-    int i;
+    size_t i;
 
     for (i = 0; i < (str.length()) / 2; i++)
     {
@@ -424,11 +424,10 @@
 //----------------------------------------------------------------------
 // Get Debug Frame Info
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemDbgGetFrameInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiOemDbgGetFrameInfo(ipmi_netfn_t, ipmi_cmd_t,
                                   ipmi_request_t request,
                                   ipmi_response_t response,
-                                  ipmi_data_len_t data_len,
-                                  ipmi_context_t context)
+                                  ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
@@ -444,11 +443,10 @@
 //----------------------------------------------------------------------
 // Get Debug Updated Frames
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemDbgGetUpdFrames(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiOemDbgGetUpdFrames(ipmi_netfn_t, ipmi_cmd_t,
                                   ipmi_request_t request,
                                   ipmi_response_t response,
-                                  ipmi_data_len_t data_len,
-                                  ipmi_context_t context)
+                                  ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
@@ -468,11 +466,10 @@
 //----------------------------------------------------------------------
 // Get Debug POST Description
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemDbgGetPostDesc(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiOemDbgGetPostDesc(ipmi_netfn_t, ipmi_cmd_t,
                                  ipmi_request_t request,
                                  ipmi_response_t response,
-                                 ipmi_data_len_t data_len,
-                                 ipmi_context_t context)
+                                 ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
@@ -508,11 +505,10 @@
 //----------------------------------------------------------------------
 // Get Debug GPIO Description
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemDbgGetGpioDesc(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiOemDbgGetGpioDesc(ipmi_netfn_t, ipmi_cmd_t,
                                  ipmi_request_t request,
                                  ipmi_response_t response,
-                                 ipmi_data_len_t data_len,
-                                 ipmi_context_t context)
+                                 ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
@@ -549,11 +545,10 @@
 //----------------------------------------------------------------------
 // Get Debug Frame Data
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemDbgGetFrameData(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiOemDbgGetFrameData(ipmi_netfn_t, ipmi_cmd_t,
                                   ipmi_request_t request,
                                   ipmi_response_t response,
-                                  ipmi_data_len_t data_len,
-                                  ipmi_context_t context)
+                                  ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
@@ -565,8 +560,6 @@
 
     frame = req[3];
     page = req[4];
-    int fr = frame;
-    int pg = page;
 
     ret = plat_udbg_get_frame_data(frame, page, &next, &count, &res[7]);
     if (ret)
@@ -589,11 +582,10 @@
 //----------------------------------------------------------------------
 // Get Debug Control Panel
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemDbgGetCtrlPanel(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiOemDbgGetCtrlPanel(ipmi_netfn_t, ipmi_cmd_t,
                                   ipmi_request_t request,
                                   ipmi_response_t response,
-                                  ipmi_data_len_t data_len,
-                                  ipmi_context_t context)
+                                  ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
@@ -619,9 +611,9 @@
 //----------------------------------------------------------------------
 // Set Dimm Info (CMD_OEM_SET_DIMM_INFO)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemSetDimmInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                              ipmi_request_t request, ipmi_response_t response,
-                              ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiOemSetDimmInfo(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t request,
+                              ipmi_response_t, ipmi_data_len_t data_len,
+                              ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
 
@@ -652,13 +644,10 @@
 //----------------------------------------------------------------------
 // Get Board ID (CMD_OEM_GET_BOARD_ID)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemGetBoardID(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                             ipmi_request_t request, ipmi_response_t response,
-                             ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiOemGetBoardID(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t,
+                             ipmi_response_t, ipmi_data_len_t data_len,
+                             ipmi_context_t)
 {
-    uint8_t* req = reinterpret_cast<uint8_t*>(request);
-    uint8_t* res = reinterpret_cast<uint8_t*>(response);
-
     /* TODO: Needs to implement this after GPIO implementation */
     *data_len = 0;
 
@@ -824,8 +813,12 @@
     {
         /* Return default boot order 0100090203ff */
         uint8_t defaultBoot[SIZE_BOOT_ORDER] = {
-            BOOT_MODE_UEFI,      bootMap["USB_DEV"], bootMap["NET_IPV6"],
-            bootMap["SATA_HDD"], bootMap["SATA_CD"], 0xff};
+            BOOT_MODE_UEFI,
+            static_cast<uint8_t>(bootMap["USB_DEV"]),
+            static_cast<uint8_t>(bootMap["NET_IPV6"]),
+            static_cast<uint8_t>(bootMap["SATA_HDD"]),
+            static_cast<uint8_t>(bootMap["SATA_CD"]),
+            0xff};
 
         memcpy(bootSeq, defaultBoot, SIZE_BOOT_ORDER);
         phosphor::logging::log<phosphor::logging::level::INFO>(
@@ -859,11 +852,9 @@
 }
 // Set Machine Config Info (CMD_OEM_SET_MACHINE_CONFIG_INFO)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemSetMachineCfgInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                                    ipmi_request_t request,
-                                    ipmi_response_t response,
-                                    ipmi_data_len_t data_len,
-                                    ipmi_context_t context)
+ipmi_ret_t ipmiOemSetMachineCfgInfo(ipmi_netfn_t, ipmi_cmd_t,
+                                    ipmi_request_t request, ipmi_response_t,
+                                    ipmi_data_len_t data_len, ipmi_context_t)
 {
     machineConfigInfo_t* req = reinterpret_cast<machineConfigInfo_t*>(request);
     uint8_t len = *data_len;
@@ -943,9 +934,9 @@
 //----------------------------------------------------------------------
 // Set POST start (CMD_OEM_SET_POST_START)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemSetPostStart(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                               ipmi_request_t request, ipmi_response_t response,
-                               ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiOemSetPostStart(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t,
+                               ipmi_response_t, ipmi_data_len_t data_len,
+                               ipmi_context_t)
 {
     phosphor::logging::log<phosphor::logging::level::INFO>("POST Start Event");
 
@@ -957,9 +948,9 @@
 //----------------------------------------------------------------------
 // Set POST End (CMD_OEM_SET_POST_END)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemSetPostEnd(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                             ipmi_request_t request, ipmi_response_t response,
-                             ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiOemSetPostEnd(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t,
+                             ipmi_response_t, ipmi_data_len_t data_len,
+                             ipmi_context_t)
 {
     struct timespec ts;
 
@@ -990,9 +981,9 @@
 //
 // Response:
 // Byte 1 – Completion Code
-ipmi_ret_t ipmiOemSetPPINInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                              ipmi_request_t request, ipmi_response_t response,
-                              ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiOemSetPPINInfo(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t request,
+                              ipmi_response_t, ipmi_data_len_t data_len,
+                              ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     std::string ppinStr;
@@ -1014,11 +1005,9 @@
 //----------------------------------------------------------------------
 // Set ADR Trigger (CMD_OEM_SET_ADR_TRIGGER)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemSetAdrTrigger(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                                ipmi_request_t request,
-                                ipmi_response_t response,
-                                ipmi_data_len_t data_len,
-                                ipmi_context_t context)
+ipmi_ret_t ipmiOemSetAdrTrigger(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t,
+                                ipmi_response_t, ipmi_data_len_t data_len,
+                                ipmi_context_t)
 {
     /* Do nothing, return success */
     *data_len = 0;
@@ -1026,7 +1015,7 @@
 }
 
 // Helper function to set guid at offset in EEPROM
-static int setGUID(off_t offset, uint8_t* guid)
+[[maybe_unused]] static int setGUID(off_t offset, uint8_t* guid)
 {
     int fd = -1;
     ssize_t len;
@@ -1069,7 +1058,7 @@
 // Set System GUID (CMD_OEM_SET_SYSTEM_GUID)
 //----------------------------------------------------------------------
 #if BIC_ENABLED
-ipmi::RspType<> ipmiOemSetSystemGuid(ipmi::Context::ptr ctx, uint8_t cmdReq,
+ipmi::RspType<> ipmiOemSetSystemGuid(ipmi::Context::ptr ctx, uint8_t,
                                      std::vector<uint8_t> reqData)
 {
     std::vector<uint8_t> respData;
@@ -1080,8 +1069,6 @@
         return ipmi::responseReqDataLenInvalid();
     }
 
-    auto ptrReqData = reqData.insert(reqData.begin(), reqData.size());
-
     uint8_t bicAddr = (uint8_t)ctx->hostIdx << 2;
 
     if (sendBicCmd(ctx->netFn, ctx->cmd, bicAddr, reqData, respData))
@@ -1118,11 +1105,9 @@
 //----------------------------------------------------------------------
 // Set Bios Flash Info (CMD_OEM_SET_BIOS_FLASH_INFO)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemSetBiosFlashInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                                   ipmi_request_t request,
-                                   ipmi_response_t response,
-                                   ipmi_data_len_t data_len,
-                                   ipmi_context_t context)
+ipmi_ret_t ipmiOemSetBiosFlashInfo(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t,
+                                   ipmi_response_t, ipmi_data_len_t data_len,
+                                   ipmi_context_t)
 {
     /* Do nothing, return success */
     *data_len = 0;
@@ -1132,9 +1117,9 @@
 //----------------------------------------------------------------------
 // Set PPR (CMD_OEM_SET_PPR)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemSetPpr(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                         ipmi_request_t request, ipmi_response_t response,
-                         ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiOemSetPpr(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t request,
+                         ipmi_response_t, ipmi_data_len_t data_len,
+                         ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     uint8_t pprCnt, pprAct, pprIndex;
@@ -1222,9 +1207,9 @@
 //----------------------------------------------------------------------
 // Get PPR (CMD_OEM_GET_PPR)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiOemGetPpr(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                         ipmi_request_t request, ipmi_response_t response,
-                         ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiOemGetPpr(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t request,
+                         ipmi_response_t response, ipmi_data_len_t data_len,
+                         ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
@@ -1334,9 +1319,9 @@
 // Byte 5 – Processor frequency in MHz (MSB)
 // Byte 6..7 – Revision
 //
-ipmi_ret_t ipmiOemQSetProcInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                               ipmi_request_t request, ipmi_response_t response,
-                               ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiOemQSetProcInfo(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t request,
+                               ipmi_response_t, ipmi_data_len_t data_len,
+                               ipmi_context_t)
 {
     qProcInfo_t* req = reinterpret_cast<qProcInfo_t*>(request);
     uint8_t numParam = sizeof(cpuInfoKey) / sizeof(uint8_t*);
@@ -1392,9 +1377,9 @@
 // Byte 5 – Processor frequency in MHz (MSB)
 // Byte 6..7 – Revision
 //
-ipmi_ret_t ipmiOemQGetProcInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                               ipmi_request_t request, ipmi_response_t response,
-                               ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiOemQGetProcInfo(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t request,
+                               ipmi_response_t response,
+                               ipmi_data_len_t data_len, ipmi_context_t)
 {
     qProcInfo_t* req = reinterpret_cast<qProcInfo_t*>(request);
     uint8_t numParam = sizeof(cpuInfoKey) / sizeof(uint8_t*);
@@ -1486,9 +1471,9 @@
 // Byte 1 - Module Manufacturer ID, LSB
 // Byte 2 - Module Manufacturer ID, MSB
 //
-ipmi_ret_t ipmiOemQSetDimmInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                               ipmi_request_t request, ipmi_response_t response,
-                               ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiOemQSetDimmInfo(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t request,
+                               ipmi_response_t, ipmi_data_len_t data_len,
+                               ipmi_context_t)
 {
     qDimmInfo_t* req = reinterpret_cast<qDimmInfo_t*>(request);
     uint8_t numParam = sizeof(dimmInfoKey) / sizeof(uint8_t*);
@@ -1579,9 +1564,9 @@
 // Byte 1 - Module Manufacturer ID, LSB
 // Byte 2 - Module Manufacturer ID, MSB
 //
-ipmi_ret_t ipmiOemQGetDimmInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                               ipmi_request_t request, ipmi_response_t response,
-                               ipmi_data_len_t data_len, ipmi_context_t context)
+ipmi_ret_t ipmiOemQGetDimmInfo(ipmi_netfn_t, ipmi_cmd_t, ipmi_request_t request,
+                               ipmi_response_t response,
+                               ipmi_data_len_t data_len, ipmi_context_t)
 {
     qDimmInfo_t* req = reinterpret_cast<qDimmInfo_t*>(request);
     uint8_t numParam = sizeof(dimmInfoKey) / sizeof(uint8_t*);
@@ -1691,11 +1676,9 @@
 //  Param#7 (HDD WWN)
 //  Data 1...8: HDD World Wide Name, LSB
 //
-ipmi_ret_t ipmiOemQSetDriveInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                                ipmi_request_t request,
-                                ipmi_response_t response,
-                                ipmi_data_len_t data_len,
-                                ipmi_context_t context)
+ipmi_ret_t ipmiOemQSetDriveInfo(ipmi_netfn_t, ipmi_cmd_t,
+                                ipmi_request_t request, ipmi_response_t,
+                                ipmi_data_len_t data_len, ipmi_context_t)
 {
     qDriveInfo_t* req = reinterpret_cast<qDriveInfo_t*>(request);
     uint8_t numParam = sizeof(driveInfoKey) / sizeof(uint8_t*);
@@ -1753,11 +1736,10 @@
 // Byte 2..N – Configuration parameter data (see Table_1415h Parameters of HDD
 // Information)
 //
-ipmi_ret_t ipmiOemQGetDriveInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiOemQGetDriveInfo(ipmi_netfn_t, ipmi_cmd_t,
                                 ipmi_request_t request,
                                 ipmi_response_t response,
-                                ipmi_data_len_t data_len,
-                                ipmi_context_t context)
+                                ipmi_data_len_t data_len, ipmi_context_t)
 {
     qDriveInfo_t* req = reinterpret_cast<qDriveInfo_t*>(request);
     uint8_t numParam = sizeof(driveInfoKey) / sizeof(uint8_t*);
diff --git a/src/selcommands.cpp b/src/selcommands.cpp
index aade561..ee4cfff 100644
--- a/src/selcommands.cpp
+++ b/src/selcommands.cpp
@@ -206,7 +206,7 @@
     "High Power I/O subsystem", "Unknown"};
 
 /* Default log message for unknown type */
-static void logDefault(uint8_t* data, std::string& errLog)
+static void logDefault(uint8_t*, std::string& errLog)
 {
     errLog = "Unknown";
 }
@@ -412,7 +412,7 @@
     }
 }
 
-static void logMemErr(uint8_t* dataPtr, std::string& errLog)
+[[maybe_unused]] static void logMemErr(uint8_t* dataPtr, std::string& errLog)
 {
     uint8_t snrType = dataPtr[0];
     uint8_t snrNum = dataPtr[1];
@@ -485,8 +485,8 @@
         {
 
             /* All Info Valid */
-            uint8_t chnNum = (data[2] & 0x1C) >> 2;
-            uint8_t dimmNum = data[2] & 0x3;
+            [[maybe_unused]] uint8_t chnNum = (data[2] & 0x1C) >> 2;
+            [[maybe_unused]] uint8_t dimmNum = data[2] & 0x3;
 
             /* TODO: If critical SEL logging is available, do it */
             if (snrType == 0x0C)
@@ -1194,7 +1194,8 @@
             }
         }
 
-        std::tm* ts = localtime((time_t*)(&(data->timeStamp)));
+        uint32_t timeStamp = data->timeStamp;
+        std::tm* ts = localtime(reinterpret_cast<time_t*>(&timeStamp));
         std::string timeStr = std::asctime(ts);
 
         parseStdSel(data, errLog);
@@ -1226,7 +1227,8 @@
         std::string oemDataStr;
         toHexStr(oemData, oemDataStr);
 
-        std::tm* ts = localtime((time_t*)(&(data->timeStamp)));
+        uint32_t timeStamp = data->timeStamp;
+        std::tm* ts = localtime(reinterpret_cast<time_t*>(&timeStamp));
         std::string timeStr = std::asctime(ts);
 
         errType = oemTSErr;
@@ -1484,7 +1486,7 @@
     return ipmi::responseSuccess(selTime.tv_sec);
 }
 
-ipmi::RspType<> ipmiStorageSetSELTime(uint32_t selTime)
+ipmi::RspType<> ipmiStorageSetSELTime(uint32_t)
 {
     // Set SEL Time is not supported
     return ipmi::responseInvalidCommand();
diff --git a/src/storagecommands.cpp b/src/storagecommands.cpp
index 6586fff..dc6c91b 100644
--- a/src/storagecommands.cpp
+++ b/src/storagecommands.cpp
@@ -196,7 +196,7 @@
 
     // hash the object paths to create unique device id's. increment on
     // collision
-    std::hash<std::string> hasher;
+    [[maybe_unused]] std::hash<std::string> hasher;
     for (const auto& fru : frus)
     {
         auto fruIface = fru.second.find("xyz.openbmc_project.FruDevice");
@@ -281,11 +281,10 @@
     return IPMI_CC_OK;
 }
 
-ipmi_ret_t ipmiStorageReadFRUData(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiStorageReadFRUData(ipmi_netfn_t, ipmi_cmd_t,
                                   ipmi_request_t request,
                                   ipmi_response_t response,
-                                  ipmi_data_len_t dataLen,
-                                  ipmi_context_t context)
+                                  ipmi_data_len_t dataLen, ipmi_context_t)
 {
     if (*dataLen != 4)
     {
@@ -333,11 +332,10 @@
     return IPMI_CC_OK;
 }
 
-ipmi_ret_t ipmiStorageWriteFRUData(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiStorageWriteFRUData(ipmi_netfn_t, ipmi_cmd_t,
                                    ipmi_request_t request,
                                    ipmi_response_t response,
-                                   ipmi_data_len_t dataLen,
-                                   ipmi_context_t context)
+                                   ipmi_data_len_t dataLen, ipmi_context_t)
 {
     if (*dataLen < 4 ||
         *dataLen >=
@@ -357,7 +355,7 @@
     {
         return status;
     }
-    int lastWriteAddr = req->fruInventoryOffset + writeLen;
+    size_t lastWriteAddr = req->fruInventoryOffset + writeLen;
     if (fruCache.size() < lastWriteAddr)
     {
         fruCache.resize(req->fruInventoryOffset + writeLen);
@@ -373,7 +371,7 @@
 
         FRUHeader* header = reinterpret_cast<FRUHeader*>(fruCache.data());
 
-        int lastRecordStart = std::max(
+        size_t lastRecordStart = std::max(
             header->internalOffset,
             std::max(header->chassisOffset,
                      std::max(header->boardOffset, header->productOffset)));
@@ -535,10 +533,8 @@
 }
 
 ipmi_ret_t ipmiStorageReserveSDR(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
-                                 ipmi_request_t request,
-                                 ipmi_response_t response,
-                                 ipmi_data_len_t dataLen,
-                                 ipmi_context_t context)
+                                 ipmi_request_t, ipmi_response_t response,
+                                 ipmi_data_len_t dataLen, ipmi_context_t)
 {
     printCommand(+netfn, +cmd);
 
@@ -563,7 +559,7 @@
 
 ipmi_ret_t ipmiStorageGetSDR(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
                              ipmi_request_t request, ipmi_response_t response,
-                             ipmi_data_len_t dataLen, ipmi_context_t context)
+                             ipmi_data_len_t dataLen, ipmi_context_t)
 {
     printCommand(+netfn, +cmd);
 
@@ -608,8 +604,9 @@
         return IPMI_CC_INVALID_FIELD_REQUEST;
     }
 
-    uint16_t nextRecord =
-        lastRecord > (req->recordID + 1) ? req->recordID + 1 : 0XFFFF;
+    uint16_t nextRecord = lastRecord > static_cast<size_t>(req->recordID + 1)
+                              ? req->recordID + 1
+                              : 0XFFFF;
 
     auto responseClear = static_cast<uint8_t*>(response);
     std::fill(responseClear, responseClear + requestedSize, 0);
@@ -670,7 +667,7 @@
         return IPMI_CC_RESPONSE_ERROR;
     }
     uint8_t sensornumber = (req->recordID & 0xFF);
-    get_sdr::SensorDataFullRecord record = {0};
+    get_sdr::SensorDataFullRecord record = {};
 
     record.header.record_id_msb = req->recordID << 8;
     record.header.record_id_lsb = req->recordID & 0xFF;
@@ -885,11 +882,10 @@
         return -1;
 }
 
-ipmi_ret_t ipmiStorageGetFRUInvAreaInfo(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiStorageGetFRUInvAreaInfo(ipmi_netfn_t, ipmi_cmd_t,
                                         ipmi_request_t request,
                                         ipmi_response_t response,
-                                        ipmi_data_len_t dataLen,
-                                        ipmi_context_t context)
+                                        ipmi_data_len_t dataLen, ipmi_context_t)
 {
     if (*dataLen != 1)
     {
diff --git a/src/transportcommands.cpp b/src/transportcommands.cpp
index fb11144..9aee32d 100644
--- a/src/transportcommands.cpp
+++ b/src/transportcommands.cpp
@@ -46,11 +46,10 @@
 //----------------------------------------------------------------------
 // Get SoL Config (IPMI/Section 26.3) (CMD_TRANSPORT_GET_SOL_CONFIG)
 //----------------------------------------------------------------------
-ipmi_ret_t ipmiTransGetSolConfig(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
+ipmi_ret_t ipmiTransGetSolConfig(ipmi_netfn_t, ipmi_cmd_t,
                                  ipmi_request_t request,
                                  ipmi_response_t response,
-                                 ipmi_data_len_t data_len,
-                                 ipmi_context_t context)
+                                 ipmi_data_len_t data_len, ipmi_context_t)
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
diff --git a/src/usb-dbg.cpp b/src/usb-dbg.cpp
index 55ba20c..01c5455 100644
--- a/src/usb-dbg.cpp
+++ b/src/usb-dbg.cpp
@@ -132,7 +132,6 @@
     if (ret < 0)
         return ret;
 
-    int len = strlen(string);
     for (ptr = lbuf; *ptr != '\0'; ptr++)
     {
         if (isFull())
@@ -220,7 +219,7 @@
     if (page > pages || page < 1)
         return -1;
 
-    if (page_buf == NULL || page_buf_size < 0)
+    if (page_buf == NULL || page_buf_size == 0)
         return -1;
 
     ret = snprintf(page_buf, 17, "%-10s %02d/%02d", title, page, pages);
@@ -293,7 +292,7 @@
 int frame::parse(char* lbuf, size_t buf_size, const char* input, int indent)
 {
     uint8_t pos, esc;
-    int i;
+    size_t i;
     const char *in, *end;
 
     if (buf == NULL || input == NULL)
@@ -582,12 +581,12 @@
     return -1;
 }
 
-static int udbg_get_cri_sel(uint8_t frame, uint8_t page, uint8_t* next,
+static int udbg_get_cri_sel(uint8_t, uint8_t page, uint8_t* next,
                             uint8_t* count, uint8_t* buffer)
 {
     int len;
     int ret;
-    char line_buff[FRAME_PAGE_BUF_SIZE], *fptr;
+    char line_buff[FRAME_PAGE_BUF_SIZE];
     const char* ptr;
     FILE* fp;
     struct stat file_stat;
@@ -669,7 +668,7 @@
     return 0;
 }
 
-static int udbg_get_cri_sensor(uint8_t frame, uint8_t page, uint8_t* next,
+static int udbg_get_cri_sensor(uint8_t, uint8_t page, uint8_t* next,
                                uint8_t* count, uint8_t* buffer)
 {
     int ret;
@@ -910,12 +909,12 @@
     return 0;
 }
 
-static int udbg_get_info_page(uint8_t frame, uint8_t page, uint8_t* next,
+static int udbg_get_info_page(uint8_t, uint8_t page, uint8_t* next,
                               uint8_t* count, uint8_t* buffer)
 {
-    char line_buff[1000], *pres_dev = line_buff;
-    size_t pos = plat_get_fru_sel();
-    const char* delim = "\n";
+    char line_buff[1000];
+    [[maybe_unused]] char* pres_dev = line_buff;
+    [[maybe_unused]] size_t pos = plat_get_fru_sel();
     int ret;
     std::string serialName = "BOARD_SERIAL_NUMBER";
     std::string partName = "BOARD_PART_NUMBER";
@@ -1060,112 +1059,118 @@
     }
 }
 
-static uint8_t panel_boot_order(uint8_t item)
+static uint8_t panel_boot_order(uint8_t)
 {
+    /* To be implemented */
+#if 0
     int i;
     unsigned char buff[MAX_VALUE_LEN], pickup, len;
     size_t pos = plat_get_fru_sel();
+    if (pos != FRU_ALL && pal_get_boot_order(pos, buff, buff, &len) == 0)
+    {
+        if (item > 0 && item < SIZE_BOOT_ORDER)
+        {
+            pickup = buff[item];
+            while (item > 1)
+            {
+                buff[item] = buff[item - 1];
+                item--;
+            }
+            buff[item] = pickup;
+            buff[0] |= 0x80;
+            pal_set_boot_order(pos, buff, buff, &len);
 
-    /* To be implemented */
-    /*
-  if (pos != FRU_ALL && pal_get_boot_order(pos, buff, buff, &len) == 0)
-  {
-  if (item > 0 && item < SIZE_BOOT_ORDER)
-  {
-  pickup = buff[item];
-  while (item > 1)
-  {
-    buff[item] = buff[item -1];
-    item--;
-  }
-  buff[item] = pickup;
-  buff[0] |= 0x80;
-  pal_set_boot_order(pos, buff, buff, &len);
+            // refresh items
+            return panels[PANEL_BOOT_ORDER].select(0);
+        }
 
-  // refresh items
-  return panels[PANEL_BOOT_ORDER].select(0);
-  }
+        // '*': boot flags valid, BIOS has not yet read
+        snprintf(panels[PANEL_BOOT_ORDER].item_str[0], 32, "Boot Order%c",
+                 (buff[0] & 0x80) ? '*' : '\0');
 
-  // '*': boot flags valid, BIOS has not yet read
-  snprintf(panels[PANEL_BOOT_ORDER].item_str[0], 32,
-  "Boot Order%c", (buff[0] & 0x80)?'*':'\0');
+        for (i = 1; i < SIZE_BOOT_ORDER; i++)
+        {
+            switch (buff[i])
+            {
+                case 0x0:
+                    snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
+                             " USB device");
+                    break;
+                case 0x1:
+                    snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
+                             " Network v4");
+                    break;
+                case (0x1 | 0x8):
+                    snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
+                             " Network v6");
+                    break;
+                case 0x2:
+                    snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
+                             " SATA HDD");
+                    break;
+                case 0x3:
+                    snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
+                             " SATA-CDROM");
+                    break;
+                case 0x4:
+                    snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
+                             " Other");
+                    break;
+                default:
+                    panels[PANEL_BOOT_ORDER].item_str[i][0] = '\0';
+                    break;
+            }
+        }
 
-  for (i = 1; i < SIZE_BOOT_ORDER; i++)
-  {
-  switch (buff[i])
-  {
-    case 0x0:
-      snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
-        " USB device");
-      break;
-    case 0x1:
-      snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
-        " Network v4");
-      break;
-    case (0x1 | 0x8):
-      snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
-        " Network v6");
-      break;
-    case 0x2:
-      snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
-        " SATA HDD");
-      break;
-    case 0x3:
-      snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
-        " SATA-CDROM");
-      break;
-    case 0x4:
-      snprintf(panels[PANEL_BOOT_ORDER].item_str[i], 32,
-        " Other");
-      break;
-    default:
-      panels[PANEL_BOOT_ORDER].item_str[i][0] = '\0';
-      break;
-  }
-  }
+        // remove empty items
+        for (i--;
+             (strlen(panels[PANEL_BOOT_ORDER].item_str[i]) == 0) && (i > 0);
+             i--)
+            ;
 
-  // remove empty items
-  for (i--; (strlen(panels[PANEL_BOOT_ORDER].item_str[i]) == 0) && (i > 0); i--)
-  ;
-
-  panels[PANEL_BOOT_ORDER].item_num = i;
-  } else
-  {
-  panels[PANEL_BOOT_ORDER].item_num = 0;
-  }
-            */
+        panels[PANEL_BOOT_ORDER].item_num = i;
+    }
+    else
+    {
+        panels[PANEL_BOOT_ORDER].item_num = 0;
+    }
+#endif
     return PANEL_BOOT_ORDER;
 }
 
-static uint8_t panel_power_policy(uint8_t item)
+static uint8_t panel_power_policy(uint8_t)
 {
+/* To be cleaned */
+#if 0
     uint8_t buff[32] = {0};
     uint8_t res_len;
     size_t pos = plat_get_fru_sel();
     uint8_t policy;
-    //  uint8_t pwr_policy_item_map[3] = {POWER_CFG_ON, POWER_CFG_LPS,
-    //  POWER_CFG_OFF};
+    uint8_t pwr_policy_item_map[3] = {POWER_CFG_ON, POWER_CFG_LPS,
+                                      POWER_CFG_OFF};
 
-    /* To be cleaned */
-    /*
-  if (pos != FRU_ALL) {
-  if (item > 0 && item <= sizeof(pwr_policy_item_map)) {
-  policy = pwr_policy_item_map[item - 1];
-  pal_set_power_restore_policy(pos, &policy, NULL);
-  }
-  pal_get_chassis_status(pos, NULL, buff, &res_len);
-  policy = (((uint8_t)buff[0]) >> 5) & 0x7;
-  snprintf(panels[PANEL_POWER_POLICY].item_str[1], 32,
-    "%cPower On", policy == POWER_CFG_ON ? '*' : ' ');
-  snprintf(panels[PANEL_POWER_POLICY].item_str[2], 32,
-    "%cLast State", policy == POWER_CFG_LPS ? '*' : ' ');
-  snprintf(panels[PANEL_POWER_POLICY].item_str[3], 32,
-    "%cPower Off", policy == POWER_CFG_OFF ? '*' : ' ');
-  panels[PANEL_POWER_POLICY].item_num = 3;
-  } else {
-  panels[PANEL_POWER_POLICY].item_num = 0;
-  }
-    */
+    if (pos != FRU_ALL)
+    {
+        if (item > 0 && item <= sizeof(pwr_policy_item_map))
+        {
+            policy = pwr_policy_item_map[item - 1];
+            pal_set_power_restore_policy(pos, &policy, NULL);
+        }
+        pal_get_chassis_status(pos, NULL, buff, &res_len);
+        policy = (((uint8_t)buff[0]) >> 5) & 0x7;
+        snprintf(panels[PANEL_POWER_POLICY].item_str[1], 32, "%cPower On",
+                 policy == POWER_CFG_ON ? '*' : ' ');
+        snprintf(panels[PANEL_POWER_POLICY].item_str[2], 32, "%cLast State",
+                 policy == POWER_CFG_LPS ? '*' : ' ');
+        snprintf(panels[PANEL_POWER_POLICY].item_str[3], 32, "%cPower Off",
+                 policy == POWER_CFG_OFF ? '*' : ' ');
+        panels[PANEL_POWER_POLICY].item_num = 3;
+    }
+    else
+    {
+        panels[PANEL_POWER_POLICY].item_num = 0;
+    }
+#endif
     return PANEL_POWER_POLICY;
 }