fix cppcheck warning

- Fix warnings:
  [noExplicitConstructor]
  ipmi/manualcmds.hpp:20:5: style: Class 'ZoneControlIpmiHandler' has a
      constructor with 1 argument that is not explicit.

  [redundantInitialization]
  dbus/dbusutil.cpp:96:15: style: Redundant initialization for 'layer'.
      The initialized value is overwritten before it is read.

  [uninitMemberVar]
  pid/pidcontroller.hpp:23:5: warning: Member variable
      'PIDController::_pid_info' is not initialized in the constructor.

  [memsetClassFloat]
  pid/util.cpp:29:10: portability: Using memset() on struct which
      contains a floating point number.

  [constParameter]
  ipmi/manualcmds.cpp:108:72: style: Parameter 'dataLen' can be
      declared as pointer to const

Signed-off-by: Harvey Wu <Harvey.Wu@quantatw.com>
Change-Id: Ib368c6e3a609e446529573cd0b9fa03858232db1
diff --git a/dbus/dbusutil.cpp b/dbus/dbusutil.cpp
index a1f0a95..03cf41e 100644
--- a/dbus/dbusutil.cpp
+++ b/dbus/dbusutil.cpp
@@ -90,7 +90,7 @@
 
 std::string getSensorPath(const std::string& type, const std::string& id)
 {
-    std::string layer = type;
+    std::string layer;
     if (type == "fan")
     {
         layer = "fan_tach";
diff --git a/ipmi/manualcmds.cpp b/ipmi/manualcmds.cpp
index 1622e2e..0967539 100644
--- a/ipmi/manualcmds.cpp
+++ b/ipmi/manualcmds.cpp
@@ -105,7 +105,8 @@
  * </method>
  */
 ipmi_ret_t ZoneControlIpmiHandler::setManualModeState(
-    const uint8_t* reqBuf, [[maybe_unused]] uint8_t* replyBuf, size_t* dataLen)
+    const uint8_t* reqBuf, [[maybe_unused]] uint8_t* replyBuf,
+    const size_t* dataLen)
 {
     if (*dataLen < sizeof(struct FanCtrlRequestSet))
     {
diff --git a/ipmi/manualcmds.hpp b/ipmi/manualcmds.hpp
index 4e11662..057ffc9 100644
--- a/ipmi/manualcmds.hpp
+++ b/ipmi/manualcmds.hpp
@@ -17,7 +17,8 @@
 class ZoneControlIpmiHandler
 {
   public:
-    ZoneControlIpmiHandler(std::unique_ptr<ZoneControlInterface> control) :
+    explicit ZoneControlIpmiHandler(
+        std::unique_ptr<ZoneControlInterface> control) :
         _control(std::move(control))
     {}
 
@@ -28,7 +29,7 @@
                                   size_t* dataLen);
 
     ipmi_ret_t setManualModeState(const uint8_t* reqBuf, uint8_t* replyBuf,
-                                  size_t* dataLen);
+                                  const size_t* dataLen);
 
   private:
     std::unique_ptr<ZoneControlInterface> _control;
diff --git a/pid/pidcontroller.hpp b/pid/pidcontroller.hpp
index c3bbc2e..fcc021c 100644
--- a/pid/pidcontroller.hpp
+++ b/pid/pidcontroller.hpp
@@ -22,7 +22,24 @@
   public:
     PIDController(const std::string& id, ZoneInterface* owner) :
         Controller(), _owner(owner), _id(id)
-    {}
+    {
+        _pid_info.initialized = false;
+        _pid_info.ts = static_cast<double>(0.0);
+        _pid_info.integral = static_cast<double>(0.0);
+        _pid_info.lastOutput = static_cast<double>(0.0);
+        _pid_info.proportionalCoeff = static_cast<double>(0.0);
+        _pid_info.integralCoeff = static_cast<double>(0.0);
+        _pid_info.feedFwdOffset = static_cast<double>(0.0);
+        _pid_info.feedFwdGain = static_cast<double>(0.0);
+        _pid_info.integralLimit.min = static_cast<double>(0.0);
+        _pid_info.integralLimit.max = static_cast<double>(0.0);
+        _pid_info.outLim.min = static_cast<double>(0.0);
+        _pid_info.outLim.max = static_cast<double>(0.0);
+        _pid_info.slewNeg = static_cast<double>(0.0);
+        _pid_info.slewPos = static_cast<double>(0.0);
+        _pid_info.negativeHysteresis = static_cast<double>(0.0);
+        _pid_info.positiveHysteresis = static_cast<double>(0.0);
+    }
 
     virtual ~PIDController()
     {}
diff --git a/pid/util.cpp b/pid/util.cpp
index ad7c139..646376d 100644
--- a/pid/util.cpp
+++ b/pid/util.cpp
@@ -26,8 +26,6 @@
 
 void initializePIDStruct(ec::pid_info_t* info, const ec::pidinfo& initial)
 {
-    std::memset(info, 0x00, sizeof(ec::pid_info_t));
-
     info->ts = initial.ts;
     info->proportionalCoeff = initial.proportionalCoeff;
     info->integralCoeff = initial.integralCoeff;