ipmi: split library constructor

Split out the library constuctor so that the code can be built into
separate library modules.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I70ac51aaea200d4634f9220a642b0e2bef6748bd
diff --git a/ipmi/manualcmds.cpp b/ipmi/manualcmds.cpp
index f376d44..e11d49a 100644
--- a/ipmi/manualcmds.cpp
+++ b/ipmi/manualcmds.cpp
@@ -16,11 +16,10 @@
 
 #include "manualcmds.hpp"
 
+#include "manual_messages.hpp"
+
 #include <ipmid/api.h>
 
-#include <ipmid/iana.hpp>
-#include <ipmid/oemopenbmc.hpp>
-#include <ipmid/oemrouter.hpp>
 #include <sdbusplus/bus.hpp>
 #include <sdbusplus/message.hpp>
 
@@ -195,8 +194,8 @@
 }
 
 /* Three command packages: get, set true, set false */
-static ipmi_ret_t manualModeControl(ipmi_cmd_t cmd, const uint8_t* reqBuf,
-                                    uint8_t* replyCmdBuf, size_t* dataLen)
+ipmi_ret_t manualModeControl(ipmi_cmd_t cmd, const uint8_t* reqBuf,
+                             uint8_t* replyCmdBuf, size_t* dataLen)
 {
     // FanCtrlRequest is the smaller of the requests, so it's at a minimum.
     if (*dataLen < sizeof(struct FanCtrlRequest))
@@ -226,17 +225,3 @@
 
 } // namespace ipmi
 } // namespace pid_control
-
-void setupGlobalOemFanControl() __attribute__((constructor));
-
-void setupGlobalOemFanControl()
-{
-    oem::Router* router = oem::mutableRouter();
-
-    fprintf(stderr,
-            "Registering OEM:[%#08X], Cmd:[%#04X] for Manual Zone Control\n",
-            oem::obmcOemNumber, oem::Cmd::fanManualCmd);
-
-    router->registerHandler(oem::obmcOemNumber, oem::Cmd::fanManualCmd,
-                            pid_control::ipmi::manualModeControl);
-}