Enable Witherspoon MRW hwmon generation

Generate Witherspoon's hwmon conf files from
the mrw.

Change-Id: I120f4f91de48b36ba4b610eab35df98e3e84b534
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/meta-phosphor/classes/phosphor-hwmon-mrw.bbclass b/meta-phosphor/classes/phosphor-hwmon-mrw.bbclass
new file mode 100644
index 0000000..0821a22
--- /dev/null
+++ b/meta-phosphor/classes/phosphor-hwmon-mrw.bbclass
@@ -0,0 +1,41 @@
+#Common code to generate the hwmon conf files from the MRW.
+#Can be pulled in on a per system basis.
+
+DEPENDS += "mrw-perl-tools-native mrw-native"
+
+do_compile_append() {
+    ${STAGING_BINDIR_NATIVE}/perl-native/perl \
+        ${STAGING_BINDIR_NATIVE}/hwmon.pl \
+        -x ${STAGING_DATADIR_NATIVE}/obmc-mrw/${MACHINE}.xml
+}
+
+def find_conf_files():
+    from fnmatch import fnmatch
+    myfiles = []
+
+    #These conf files generated by hwmon.pl are in
+    #subdirectories which we need to preserve the path to.
+    for root, dirs, files in os.walk("./"):
+        for name in files:
+            if fnmatch(name, "*.conf"):
+                myfiles.append(os.path.join(root, name))
+
+    return  myfiles
+
+python install_conf_files() {
+    from shutil import copy
+
+    files = find_conf_files()
+
+    install_dir = os.path.join(d.getVar("D", True),
+                               "etc", "default", "obmc", "hwmon")
+    for f in files:
+        dest = os.path.join(install_dir, f)
+        parent = os.path.dirname(dest)
+        if not os.path.exists(parent):
+            os.makedirs(parent)
+
+        copy(f, dest)
+}
+
+do_install[postfuncs] += "install_conf_files"