diff --git a/phosphor-regulators/README.md b/phosphor-regulators/README.md
index 2ef7779..0e0ca35 100644
--- a/phosphor-regulators/README.md
+++ b/phosphor-regulators/README.md
@@ -1,56 +1,55 @@
 ## Overview
 
 The `phosphor-regulators` application configures and monitors voltage
-regulators.  The application is controlled by a JSON configuration file.
+regulators. The application is controlled by a JSON configuration file.
 
 The application does not control how voltage regulators are enabled or how to
-monitor their Power Good (pgood) status.  Those operations are typically
+monitor their Power Good (pgood) status. Those operations are typically
 performed by power sequencer hardware and related firmware.
 
-
 ## Configuring Voltage Regulators
 
-The configuration of voltage regulators can be modified.  Configuration changes
+The configuration of voltage regulators can be modified. Configuration changes
 usually override hardware default settings.
 
 The most common configuration change is setting the output voltage for a
-regulator rail.  Other examples include modifying pgood thresholds and
+regulator rail. Other examples include modifying pgood thresholds and
 overcurrent settings.
 
 The configuration changes are applied early in the boot process before
 regulators are enabled.
 
-
 ## Monitoring Voltage Regulators
 
 Two types of regulator monitoring are supported:
-* Sensor monitoring
-* Phase fault monitoring
+
+- Sensor monitoring
+- Phase fault monitoring
 
 ### Sensor Monitoring
 
 The sensor values for a voltage rail are read, such as voltage output, current
-output, and temperature.  Sensor values are measured, actual values rather than
+output, and temperature. Sensor values are measured, actual values rather than
 target values.
 
-Sensors are read once per second.  The sensor values are stored on D-Bus on the
+Sensors are read once per second. The sensor values are stored on D-Bus on the
 BMC, making them available to external interfaces like Redfish.
 
 ### Phase Fault Monitoring
 
-Some voltage regulators contain redundant phases.  If a redundant phase fails,
-the regulator can continue functioning normally.  However redundancy has been
+Some voltage regulators contain redundant phases. If a redundant phase fails,
+the regulator can continue functioning normally. However redundancy has been
 lost, and the regulator may fail if another phase fails.
 
-Voltage regulators can be monitored for redundant phase faults.  If a fault is
+Voltage regulators can be monitored for redundant phase faults. If a fault is
 detected, an error is logged on the BMC.
 
-
 ## JSON Configuration File
 
 The JSON configuration file defines the following:
-* Voltage regulators in the system.
-* Operations to perform on those regulators, such as configuration or sensor
+
+- Voltage regulators in the system.
+- Operations to perform on those regulators, such as configuration or sensor
   monitoring.
 
 Configuration files are stored in the `config_files` directory.
diff --git a/phosphor-regulators/config_files/ibm_bonnell.json b/phosphor-regulators/config_files/ibm_bonnell.json
index 3d6a561..4bf42a1 100644
--- a/phosphor-regulators/config_files/ibm_bonnell.json
+++ b/phosphor-regulators/config_files/ibm_bonnell.json
@@ -1,94 +1,105 @@
 {
-  "comments": [ "phosphor-regulators configuration file for IBM Bonnell systems" ],
+    "comments": [
+        "phosphor-regulators configuration file for IBM Bonnell systems"
+    ],
 
-
-  "rules": [
-    {
-      "comments": [ "Rule to set PMBus PAGE to 0" ],
-      "id": "set_page0_rule",
-      "actions": [
-        { "i2c_write_byte": { "register": "0x00", "value": "0x00" } }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set PMBus PAGE to 1" ],
-      "id": "set_page1_rule",
-      "actions": [
-        { "i2c_write_byte": { "register": "0x00", "value": "0x01" } }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of a PMBus regulator" ],
-      "id": "set_voltage_rule",
-      "actions": [
+    "rules": [
         {
-          "comments": [ "Write volts value to VOUT_COMMAND in linear format.",
+            "comments": ["Rule to set PMBus PAGE to 0"],
+            "id": "set_page0_rule",
+            "actions": [
+                { "i2c_write_byte": { "register": "0x00", "value": "0x00" } }
+            ]
+        },
+
+        {
+            "comments": ["Rule to set PMBus PAGE to 1"],
+            "id": "set_page1_rule",
+            "actions": [
+                { "i2c_write_byte": { "register": "0x00", "value": "0x01" } }
+            ]
+        },
+
+        {
+            "comments": ["Rule to set output voltage of a PMBus regulator"],
+            "id": "set_voltage_rule",
+            "actions": [
+                {
+                    "comments": [
+                        "Write volts value to VOUT_COMMAND in linear format.",
                         "Get volts value from configuration.  Get exponent",
-                        "from VOUT_MODE.  Verify write was successful." ],
-          "pmbus_write_vout_command": { "format": "linear", "is_verified": true }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of PAGE 0 of a PMBus regulator" ],
-      "id": "set_voltage_page0_rule",
-      "actions": [
-        { "run_rule": "set_page0_rule" },
-        { "run_rule": "set_voltage_rule" }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of PAGE 1 of a PMBus regulator" ],
-      "id": "set_voltage_page1_rule",
-      "actions": [
-        { "run_rule": "set_page1_rule" },
-        { "run_rule": "set_voltage_rule" }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of a PMBus regulator using",
-                    "PMBus OPERATION and VOUT_COMMAND" ],
-      "id": "set_operation_and_voltage_rule",
-      "actions": [
-        {
-          "comments": [ "Set PMBus OPERATION to 0x80 indicating output voltage",
-                        "is set by the PMBus VOUT_COMMAND" ],
-          "i2c_write_byte": { "register": "0x01", "value": "0x80" }
+                        "from VOUT_MODE.  Verify write was successful."
+                    ],
+                    "pmbus_write_vout_command": {
+                        "format": "linear",
+                        "is_verified": true
+                    }
+                }
+            ]
         },
 
         {
-          "comments": [ "Set the output voltage using the PMBus VOUT_COMMAND" ],
-          "run_rule": "set_voltage_rule"
+            "comments": [
+                "Rule to set output voltage of PAGE 0 of a PMBus regulator"
+            ],
+            "id": "set_voltage_page0_rule",
+            "actions": [
+                { "run_rule": "set_page0_rule" },
+                { "run_rule": "set_voltage_rule" }
+            ]
         },
 
         {
-          "comments": [ "Set PMBus OPERATION to 0xB0 indicating output voltage",
+            "comments": [
+                "Rule to set output voltage of PAGE 1 of a PMBus regulator"
+            ],
+            "id": "set_voltage_page1_rule",
+            "actions": [
+                { "run_rule": "set_page1_rule" },
+                { "run_rule": "set_voltage_rule" }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to set output voltage of a PMBus regulator using",
+                "PMBus OPERATION and VOUT_COMMAND"
+            ],
+            "id": "set_operation_and_voltage_rule",
+            "actions": [
+                {
+                    "comments": [
+                        "Set PMBus OPERATION to 0x80 indicating output voltage",
+                        "is set by the PMBus VOUT_COMMAND"
+                    ],
+                    "i2c_write_byte": { "register": "0x01", "value": "0x80" }
+                },
+
+                {
+                    "comments": [
+                        "Set the output voltage using the PMBus VOUT_COMMAND"
+                    ],
+                    "run_rule": "set_voltage_rule"
+                },
+
+                {
+                    "comments": [
+                        "Set PMBus OPERATION to 0xB0 indicating output voltage",
                         "will now be set by AVSBus (AVS_VOUT_COMMAND).",
                         "Hardware settings cause the VOUT_COMMAND value to be",
-                        "the initial voltage value for AVSBus." ],
-          "i2c_write_byte": { "register": "0x01", "value": "0xB0" }
+                        "the initial voltage value for AVSBus."
+                    ],
+                    "i2c_write_byte": { "register": "0x01", "value": "0xB0" }
+                }
+            ]
         }
-      ]
-    }
-  ],
+    ],
 
-
-  "chassis": [
-    {
-      "comments": [ "Chassis (drawer) 1",
-                    "Note: Devices not defined yet" ],
-      "number": 1,
-      "inventory_path": "system/chassis"
-    }
-  ]
+    "chassis": [
+        {
+            "comments": ["Chassis (drawer) 1", "Note: Devices not defined yet"],
+            "number": 1,
+            "inventory_path": "system/chassis"
+        }
+    ]
 }
diff --git a/phosphor-regulators/config_files/ibm_everest.json b/phosphor-regulators/config_files/ibm_everest.json
index 014815a..545d910 100644
--- a/phosphor-regulators/config_files/ibm_everest.json
+++ b/phosphor-regulators/config_files/ibm_everest.json
@@ -1,94 +1,105 @@
 {
-  "comments": [ "phosphor-regulators configuration file for IBM Everest systems" ],
+    "comments": [
+        "phosphor-regulators configuration file for IBM Everest systems"
+    ],
 
-
-  "rules": [
-    {
-      "comments": [ "Rule to set PMBus PAGE to 0" ],
-      "id": "set_page0_rule",
-      "actions": [
-        { "i2c_write_byte": { "register": "0x00", "value": "0x00" } }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set PMBus PAGE to 1" ],
-      "id": "set_page1_rule",
-      "actions": [
-        { "i2c_write_byte": { "register": "0x00", "value": "0x01" } }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of a PMBus regulator" ],
-      "id": "set_voltage_rule",
-      "actions": [
+    "rules": [
         {
-          "comments": [ "Write volts value to VOUT_COMMAND in linear format.",
+            "comments": ["Rule to set PMBus PAGE to 0"],
+            "id": "set_page0_rule",
+            "actions": [
+                { "i2c_write_byte": { "register": "0x00", "value": "0x00" } }
+            ]
+        },
+
+        {
+            "comments": ["Rule to set PMBus PAGE to 1"],
+            "id": "set_page1_rule",
+            "actions": [
+                { "i2c_write_byte": { "register": "0x00", "value": "0x01" } }
+            ]
+        },
+
+        {
+            "comments": ["Rule to set output voltage of a PMBus regulator"],
+            "id": "set_voltage_rule",
+            "actions": [
+                {
+                    "comments": [
+                        "Write volts value to VOUT_COMMAND in linear format.",
                         "Get volts value from configuration.  Get exponent",
-                        "from VOUT_MODE.  Verify write was successful." ],
-          "pmbus_write_vout_command": { "format": "linear", "is_verified": true }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of PAGE 0 of a PMBus regulator" ],
-      "id": "set_voltage_page0_rule",
-      "actions": [
-        { "run_rule": "set_page0_rule" },
-        { "run_rule": "set_voltage_rule" }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of PAGE 1 of a PMBus regulator" ],
-      "id": "set_voltage_page1_rule",
-      "actions": [
-        { "run_rule": "set_page1_rule" },
-        { "run_rule": "set_voltage_rule" }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of a PMBus regulator using",
-                    "PMBus OPERATION and VOUT_COMMAND" ],
-      "id": "set_operation_and_voltage_rule",
-      "actions": [
-        {
-          "comments": [ "Set PMBus OPERATION to 0x80 indicating output voltage",
-                        "is set by the PMBus VOUT_COMMAND" ],
-          "i2c_write_byte": { "register": "0x01", "value": "0x80" }
+                        "from VOUT_MODE.  Verify write was successful."
+                    ],
+                    "pmbus_write_vout_command": {
+                        "format": "linear",
+                        "is_verified": true
+                    }
+                }
+            ]
         },
 
         {
-          "comments": [ "Set the output voltage using the PMBus VOUT_COMMAND" ],
-          "run_rule": "set_voltage_rule"
+            "comments": [
+                "Rule to set output voltage of PAGE 0 of a PMBus regulator"
+            ],
+            "id": "set_voltage_page0_rule",
+            "actions": [
+                { "run_rule": "set_page0_rule" },
+                { "run_rule": "set_voltage_rule" }
+            ]
         },
 
         {
-          "comments": [ "Set PMBus OPERATION to 0xB0 indicating output voltage",
+            "comments": [
+                "Rule to set output voltage of PAGE 1 of a PMBus regulator"
+            ],
+            "id": "set_voltage_page1_rule",
+            "actions": [
+                { "run_rule": "set_page1_rule" },
+                { "run_rule": "set_voltage_rule" }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to set output voltage of a PMBus regulator using",
+                "PMBus OPERATION and VOUT_COMMAND"
+            ],
+            "id": "set_operation_and_voltage_rule",
+            "actions": [
+                {
+                    "comments": [
+                        "Set PMBus OPERATION to 0x80 indicating output voltage",
+                        "is set by the PMBus VOUT_COMMAND"
+                    ],
+                    "i2c_write_byte": { "register": "0x01", "value": "0x80" }
+                },
+
+                {
+                    "comments": [
+                        "Set the output voltage using the PMBus VOUT_COMMAND"
+                    ],
+                    "run_rule": "set_voltage_rule"
+                },
+
+                {
+                    "comments": [
+                        "Set PMBus OPERATION to 0xB0 indicating output voltage",
                         "will now be set by AVSBus (AVS_VOUT_COMMAND).",
                         "Hardware settings cause the VOUT_COMMAND value to be",
-                        "the initial voltage value for AVSBus." ],
-          "i2c_write_byte": { "register": "0x01", "value": "0xB0" }
+                        "the initial voltage value for AVSBus."
+                    ],
+                    "i2c_write_byte": { "register": "0x01", "value": "0xB0" }
+                }
+            ]
         }
-      ]
-    }
-  ],
+    ],
 
-
-  "chassis": [
-    {
-      "comments": [ "Chassis (drawer) 1",
-                    "Note: Devices not defined yet" ],
-      "number": 1,
-      "inventory_path": "system/chassis"
-    }
-  ]
+    "chassis": [
+        {
+            "comments": ["Chassis (drawer) 1", "Note: Devices not defined yet"],
+            "number": 1,
+            "inventory_path": "system/chassis"
+        }
+    ]
 }
diff --git a/phosphor-regulators/config_files/ibm_rainier.json b/phosphor-regulators/config_files/ibm_rainier.json
index 8b372e7..09c005f 100644
--- a/phosphor-regulators/config_files/ibm_rainier.json
+++ b/phosphor-regulators/config_files/ibm_rainier.json
@@ -1,1135 +1,1429 @@
 {
-  "comments": [ "phosphor-regulators configuration file for IBM Rainier systems" ],
+    "comments": [
+        "phosphor-regulators configuration file for IBM Rainier systems"
+    ],
 
-
-  "rules": [
-    {
-      "comments": [ "Rule to set PMBus PAGE to 0" ],
-      "id": "set_page0_rule",
-      "actions": [
-        { "i2c_write_byte": { "register": "0x00", "value": "0x00" } }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set PMBus PAGE to 1" ],
-      "id": "set_page1_rule",
-      "actions": [
-        { "i2c_write_byte": { "register": "0x00", "value": "0x01" } }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of a PMBus regulator" ],
-      "id": "set_voltage_rule",
-      "actions": [
+    "rules": [
         {
-          "comments": [ "Write volts value to VOUT_COMMAND in linear format.",
+            "comments": ["Rule to set PMBus PAGE to 0"],
+            "id": "set_page0_rule",
+            "actions": [
+                { "i2c_write_byte": { "register": "0x00", "value": "0x00" } }
+            ]
+        },
+
+        {
+            "comments": ["Rule to set PMBus PAGE to 1"],
+            "id": "set_page1_rule",
+            "actions": [
+                { "i2c_write_byte": { "register": "0x00", "value": "0x01" } }
+            ]
+        },
+
+        {
+            "comments": ["Rule to set output voltage of a PMBus regulator"],
+            "id": "set_voltage_rule",
+            "actions": [
+                {
+                    "comments": [
+                        "Write volts value to VOUT_COMMAND in linear format.",
                         "Get volts value from configuration.  Get exponent",
-                        "from VOUT_MODE.  Verify write was successful." ],
-          "pmbus_write_vout_command": { "format": "linear", "is_verified": true }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of PAGE 0 of a PMBus regulator" ],
-      "id": "set_voltage_page0_rule",
-      "actions": [
-        { "run_rule": "set_page0_rule" },
-        { "run_rule": "set_voltage_rule" }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of PAGE 1 of a PMBus regulator" ],
-      "id": "set_voltage_page1_rule",
-      "actions": [
-        { "run_rule": "set_page1_rule" },
-        { "run_rule": "set_voltage_rule" }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to set output voltage of a PMBus regulator using",
-                    "PMBus OPERATION and VOUT_COMMAND" ],
-      "id": "set_operation_and_voltage_rule",
-      "actions": [
-        {
-          "comments": [ "Set PMBus OPERATION to 0x80 indicating output voltage",
-                        "is set by the PMBus VOUT_COMMAND" ],
-          "i2c_write_byte": { "register": "0x01", "value": "0x80" }
+                        "from VOUT_MODE.  Verify write was successful."
+                    ],
+                    "pmbus_write_vout_command": {
+                        "format": "linear",
+                        "is_verified": true
+                    }
+                }
+            ]
         },
 
         {
-          "comments": [ "Set the output voltage using the PMBus VOUT_COMMAND" ],
-          "run_rule": "set_voltage_rule"
+            "comments": [
+                "Rule to set output voltage of PAGE 0 of a PMBus regulator"
+            ],
+            "id": "set_voltage_page0_rule",
+            "actions": [
+                { "run_rule": "set_page0_rule" },
+                { "run_rule": "set_voltage_rule" }
+            ]
         },
 
         {
-          "comments": [ "Set PMBus OPERATION to 0xB0 indicating output voltage",
+            "comments": [
+                "Rule to set output voltage of PAGE 1 of a PMBus regulator"
+            ],
+            "id": "set_voltage_page1_rule",
+            "actions": [
+                { "run_rule": "set_page1_rule" },
+                { "run_rule": "set_voltage_rule" }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to set output voltage of a PMBus regulator using",
+                "PMBus OPERATION and VOUT_COMMAND"
+            ],
+            "id": "set_operation_and_voltage_rule",
+            "actions": [
+                {
+                    "comments": [
+                        "Set PMBus OPERATION to 0x80 indicating output voltage",
+                        "is set by the PMBus VOUT_COMMAND"
+                    ],
+                    "i2c_write_byte": { "register": "0x01", "value": "0x80" }
+                },
+
+                {
+                    "comments": [
+                        "Set the output voltage using the PMBus VOUT_COMMAND"
+                    ],
+                    "run_rule": "set_voltage_rule"
+                },
+
+                {
+                    "comments": [
+                        "Set PMBus OPERATION to 0xB0 indicating output voltage",
                         "will now be set by AVSBus (AVS_VOUT_COMMAND).",
                         "Hardware settings cause the VOUT_COMMAND value to be",
-                        "the initial voltage value for AVSBus." ],
-          "i2c_write_byte": { "register": "0x01", "value": "0xB0" }
-        }
-      ]
-    },
+                        "the initial voltage value for AVSBus."
+                    ],
+                    "i2c_write_byte": { "register": "0x01", "value": "0xB0" }
+                }
+            ]
+        },
 
-
-    {
-      "comments": [ "Rule to set IOUT_OC_WARN_LIMIT for a PMBus regulator" ],
-      "id": "set_iout_oc_warn_limit_rule",
-      "actions": [
         {
-          "comments": [ "Set PMBus IOUT_OC_WARN_LIMIT to 326A to ensure OCW",
+            "comments": [
+                "Rule to set IOUT_OC_WARN_LIMIT for a PMBus regulator"
+            ],
+            "id": "set_iout_oc_warn_limit_rule",
+            "actions": [
+                {
+                    "comments": [
+                        "Set PMBus IOUT_OC_WARN_LIMIT to 326A to ensure OCW",
                         "asserts at the roll-over bug identified in the",
                         "silicon.  326A = 0x08A3.  PMBus requires",
-                        "the low order byte to be written first." ],
-          "i2c_write_bytes": { "register": "0x4A", "values": [ "0xA3", "0x08" ] }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to configure a VDD rail using the PMBus interface" ],
-      "id": "configure_vdd_rule",
-      "actions": [
-        { "run_rule": "set_page0_rule" },
-        { "run_rule": "set_iout_oc_warn_limit_rule" },
-        {
-          "comments": [ "Set VOUT_MODE to exponent of -9 for VDD regulator",
-                        "to support older and newer hardware." ],
-          "i2c_write_byte": { "register": "0x20", "value": "0x17" }
-        },
-        { "run_rule": "set_operation_and_voltage_rule" },
-        {
-          "comments": [ "Set VOUT_MIN to 0V since for VDD the voltage",
-                        "can go down to 0.5V so we want to lower this",
-                        "limit below 0.5V so the regulator does not trip." ],
-          "i2c_write_bytes": { "register": "0x2B", "values": [ "0x00", "0x00" ] }
-        },
-        {
-          "comments": [ "Set VOUT_MAX to 1.255V since for VDD the voltage",
-                        "can go up to 1.1V so we want to raise this",
-                        "limit above 1.1V so the regulator does not trip." ],
-          "i2c_write_bytes": { "register": "0x24", "values": [ "0x83", "0x02" ] }
-        },
-        {
-          "comments": [ "Set POWER_GOOD_ON for VDD to a value of 0.5V." ],
-          "i2c_write_bytes": { "register": "0x5E", "values": [ "0x00", "0x01" ] }
-        },
-        {
-          "comments": [ "Set POWER_GOOD_OFF for VDD to a value of 0.4V." ],
-          "i2c_write_bytes": { "register": "0x5F", "values": [ "0xCD", "0x00" ] }
-        },
-        {
-          "comments": [ "Set VOUT_OV_WARN_LIMIT for VDD to a value of 1.30V." ],
-          "i2c_write_bytes": { "register": "0x42", "values": [ "0x9A", "0x02" ] }
-        },
-        {
-          "comments": [ "Set VOUT_UV_WARN_LIMIT for VDD to a value of 0.45V." ],
-          "i2c_write_bytes": { "register": "0x43", "values": [ "0xE6", "0x00" ] }
-        },
-        {
-          "comments": [ "Set TOFF_FALL time for VDD to a value of 10ms." ],
-          "i2c_write_bytes": { "register": "0x65", "values": [ "0x28", "0xF0" ] }
-        },
-        {
-          "comments": [ "Set IOUT_OC_FAULT_RESPONSE for VDD to shutdown." ],
-          "i2c_write_byte": { "register": "0x47", "value": "0xC0" }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to configure a VDN rail using the PMBus interface" ],
-      "id": "configure_vdn_rule",
-      "actions": [
-        { "run_rule": "set_page0_rule" },
-        { "run_rule": "set_operation_and_voltage_rule" },
-        {
-          "comments": [ "Set VOUT_MIN to 0V since for VDN the voltage",
-                        "can go down to 0.6V so we want to lower this",
-                        "limit below 0.6V so the regulator does not trip." ],
-          "i2c_write_bytes": { "register": "0x2B", "values": [ "0x00", "0x00" ] }
-        },
-        {
-          "comments": [ "Set VOUT_MAX to 1.1V since for VDN the voltage",
-                        "can go up to 1.0V so we want to raise this",
-                        "limit above 1.0V so the regulator does not trip." ],
-          "i2c_write_bytes": { "register": "0x24", "values": [ "0x33", "0x02" ] }
-        },
-        {
-          "comments": [ "Set POWER_GOOD_ON for VDN to a value of 0.45V." ],
-          "i2c_write_bytes": { "register": "0x5E", "values": [ "0xE6", "0x00" ] }
-        },
-        {
-          "comments": [ "Set POWER_GOOD_OFF for VDN to a value of 0.40V." ],
-          "i2c_write_bytes": { "register": "0x5F", "values": [ "0xCC", "0x00" ] }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to configure a VCS rail using the PMBus interface" ],
-      "id": "configure_vcs_rule",
-      "actions": [
-        { "run_rule": "set_page1_rule" },
-        { "run_rule": "set_operation_and_voltage_rule" },
-        {
-          "comments": [ "Set VOUT_MIN to 0V since for VCS the voltage",
-                        "can go down to 0.7V so we want to lower this",
-                        "limit below 0.7V so the regulator does not trip." ],
-          "i2c_write_bytes": { "register": "0x2B", "values": [ "0x00", "0x00" ] }
-        },
-        {
-          "comments": [ "Set VOUT_MAX to 1.2V since for VCS the voltage",
-                        "can go up to 1.1V so we want to raise this",
-                        "limit above 1.1V so the regulator does not trip." ],
-          "i2c_write_bytes": { "register": "0x24", "values": [ "0x66", "0x02" ] }
-        },
-        {
-          "comments": [ "Set POWER_GOOD_ON for VCS to a value of 0.55V." ],
-          "i2c_write_bytes": { "register": "0x5E", "values": [ "0x19", "0x01" ] }
-        },
-        {
-          "comments": [ "Set POWER_GOOD_OFF for VCS to a value of 0.50V." ],
-          "i2c_write_bytes": { "register": "0x5F", "values": [ "0x00", "0x01" ] }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to configure a VIO rail using the PMBus interface" ],
-      "id": "configure_vio_rule",
-      "actions": [
-        { "run_rule": "set_page0_rule" },
-        { "run_rule": "set_operation_and_voltage_rule" },
-        {
-          "comments": [ "Set VOUT_MIN to 0V since for VIO the voltage",
-                        "can go down to 0.8V so we want to lower this",
-                        "limit below 0.8V so the regulator does not trip." ],
-          "i2c_write_bytes": { "register": "0x2B", "values": [ "0x00", "0x00" ] }
-        },
-        {
-          "comments": [ "Set VOUT_MAX to 1.1V since for VIO the voltage",
-                        "can go up to 1.0V so we want to raise this",
-                        "limit above 1.0V so the regulator does not trip." ],
-          "i2c_write_bytes": { "register": "0x24", "values": [ "0x33", "0x02" ] }
-        },
-        {
-          "comments": [ "Set POWER_GOOD_ON for VIO to a value of 0.55V." ],
-          "i2c_write_bytes": { "register": "0x5E", "values": [ "0x19", "0x01" ] }
-        },
-        {
-          "comments": [ "Set POWER_GOOD_OFF for VIO to a value of 0.50V." ],
-          "i2c_write_bytes": { "register": "0x5F", "values": [ "0x00", "0x01" ] }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to configure a VPCIE rail using the PMBus interface" ],
-      "id": "configure_vpcie_rule",
-      "actions": [
-        { "run_rule": "set_page0_rule" },
-        { "run_rule": "set_voltage_rule" },
-        {
-          "comments": [ "Set VOUT_MIN to 0V since for VPCIE the voltage",
-                        "can go down to 0.81V so we want to lower this",
-                        "limit below 0.81V so the regulator does not trip." ],
-          "i2c_write_bytes": { "register": "0x2B", "values": [ "0x00", "0x00" ] }
-        },
-        {
-          "comments": [ "Set VOUT_MAX to 1.0V since for VPCIE the voltage",
-                        "can go up to 0.91V so we want to raise this",
-                        "limit above 0.91V so the regulator does not trip." ],
-          "i2c_write_bytes": { "register": "0x24", "values": [ "0x00", "0x02" ] }
-        },
-        {
-          "comments": [ "Set POWER_GOOD_ON for VPCIE to a value of 0.65V." ],
-          "i2c_write_bytes": { "register": "0x5E", "values": [ "0x4C", "0x01" ] }
-        },
-        {
-          "comments": [ "Set POWER_GOOD_OFF for VPCIE to a value of 0.60V." ],
-          "i2c_write_bytes": { "register": "0x5F", "values": [ "0x33", "0x01" ] }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to read sensors on IR38064 regulators using the",
-                    "PMBus interface" ],
-      "id": "read_sensors_ir38064_rule",
-      "actions": [
-        {
-          "comments": [ "Read output current from READ_IOUT" ],
-          "pmbus_read_sensor": {
-            "type": "iout",
-            "command": "0x8C",
-            "format": "linear_11"
-          }
-        },
-        {
-          "comments": [ "Read highest output current from MFR_IOUT_PEAK" ],
-          "pmbus_read_sensor": {
-            "type": "iout_peak",
-            "command": "0xDC",
-            "format": "linear_11"
-          }
-        },
-        {
-          "comments": [ "Read output power from READ_POUT" ],
-          "pmbus_read_sensor": {
-            "type": "pout",
-            "command": "0x96",
-            "format": "linear_11"
-          }
-        },
-        {
-          "comments": [ "Read temperature from READ_TEMPERATURE" ],
-          "pmbus_read_sensor": {
-            "type": "temperature",
-            "command": "0x8D",
-            "format": "linear_11"
-          }
-        },
-        {
-          "comments": [ "Read highest temperature from MFR_TEMPERATURE_PEAK" ],
-          "pmbus_read_sensor": {
-            "type": "temperature_peak",
-            "command": "0xDD",
-            "format": "linear_11"
-          }
-        },
-        {
-          "comments": [ "Read output voltage from READ_VOUT.",
-                        "Note: regulator does not support VOUT_MODE, so the",
-                        "exponent must be specified." ],
-          "pmbus_read_sensor": {
-            "type": "vout",
-            "command": "0x8B",
-            "format": "linear_16",
-            "exponent": -8
-          }
-        },
-        {
-          "comments": [ "Read highest output voltage from MFR_VOUT_PEAK.",
-                        "Note: regulator does not support VOUT_MODE, so the",
-                        "exponent must be specified." ],
-          "pmbus_read_sensor": {
-            "type": "vout_peak",
-            "command": "0xDB",
-            "format": "linear_16",
-            "exponent": -8
-          }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to read sensors on IR35221 regulators using the",
-                    "PMBus interface" ],
-      "id": "read_sensors_ir35221_rule",
-      "actions": [
-        {
-          "comments": [ "Read output current from READ_IOUT" ],
-          "pmbus_read_sensor": {
-            "type": "iout",
-            "command": "0x8C",
-            "format": "linear_11"
-          }
-        },
-        {
-          "comments": [ "Read highest output current from MFR_IOUT_PEAK" ],
-          "pmbus_read_sensor": {
-            "type": "iout_peak",
-            "command": "0xC7",
-            "format": "linear_11"
-          }
-        },
-        {
-          "comments": [ "Read lowest output current from MFR_IOUT_VALLEY" ],
-          "pmbus_read_sensor": {
-            "type": "iout_valley",
-            "command": "0xCB",
-            "format": "linear_11"
-          }
-        },
-        {
-          "comments": [ "Read output power from READ_POUT" ],
-          "pmbus_read_sensor": {
-            "type": "pout",
-            "command": "0x96",
-            "format": "linear_11"
-          }
-        },
-        {
-          "comments": [ "Read temperature from READ_TEMPERATURE_1" ],
-          "pmbus_read_sensor": {
-            "type": "temperature",
-            "command": "0x8D",
-            "format": "linear_11"
-          }
-        },
-        {
-          "comments": [ "Read highest temperature from MFR_TEMP_PEAK" ],
-          "pmbus_read_sensor": {
-            "type": "temperature_peak",
-            "command": "0xC8",
-            "format": "linear_11"
-          }
-        },
-        {
-          "comments": [ "Read output voltage from READ_VOUT" ],
-          "pmbus_read_sensor": {
-            "type": "vout",
-            "command": "0x8B",
-            "format": "linear_16"
-          }
-        },
-        {
-          "comments": [ "Read highest output voltage from MFR_VOUT_PEAK" ],
-          "pmbus_read_sensor": {
-            "type": "vout_peak",
-            "command": "0xC6",
-            "format": "linear_16"
-          }
-        },
-        {
-          "comments": [ "Read lowest output voltage from MFR_VOUT_VALLEY" ],
-          "pmbus_read_sensor": {
-            "type": "vout_valley",
-            "command": "0xCA",
-            "format": "linear_16"
-          }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to read sensors on PAGE 0 of IR35221 regulators",
-                    "using the PMBus interface" ],
-      "id": "read_sensors_ir35221_page0_rule",
-      "actions": [
-        { "run_rule": "set_page0_rule" },
-        { "run_rule": "read_sensors_ir35221_rule" }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to read sensors on PAGE 1 of IR35221 regulators",
-                    "using the PMBus interface" ],
-      "id": "read_sensors_ir35221_page1_rule",
-      "actions": [
-        { "run_rule": "set_page1_rule" },
-        { "run_rule": "read_sensors_ir35221_rule" }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to read sensors on PAGE 0 of XDPE132G5C regulators",
-                    "using the PMBus interface" ],
-      "id": "read_sensors_xdpe132g5c_page0_rule",
-      "actions": [
-        {
-          "comments": [ "Can use same rule as for IR35221 regulators" ],
-          "run_rule": "read_sensors_ir35221_page0_rule"
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to determine if the current system is a 2S4U/2S2U.",
-                    "2S systems have more regulators on the Nisqually system",
-                    "planar than 1S systems.  Must return true if system is a",
-                    "2S4U/2S2U and false if system is a 1S4U." ],
-      "id": "is_2s_system_rule",
-      "actions": [
-        {
-          "comments": [ "Check whether the CCIN VPD keyword on the Nisqually",
-                        "system planar has the value for 2S4U or 2S2U" ],
-          "or": [
-            { "compare_vpd": { "fru": "system/chassis/motherboard", "keyword": "CCIN", "value": "2E2F" } },
-            { "compare_vpd": { "fru": "system/chassis/motherboard", "keyword": "CCIN", "value": "2E2D" } }
-          ]
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to determine if pass 2 or higher Nisqually",
-                    "backplane is present.  Must return true if present and",
-                    "false otherwise." ],
-      "id": "is_pass2_nisqually_rule",
-      "actions": [
-        {
-          "comments": [ "Check that the PartNumber VPD keyword on the",
-                        "Nisqually system planar is not the value for",
-                        "the pass 1 2U or 4U." ],
-          "not":
-          {
-            "or": [
-              { "compare_vpd": { "fru": "system/chassis/motherboard", "keyword": "PartNumber", "value": "02WG656" } },
-              { "compare_vpd": { "fru": "system/chassis/motherboard", "keyword": "PartNumber", "value": "02WG678" } }
+                        "the low order byte to be written first."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x4A",
+                        "values": ["0xA3", "0x08"]
+                    }
+                }
             ]
-          }
-        }
-      ]
-    },
+        },
 
-
-    {
-      "comments": [ "Rule to determine if the VRM FRU for DCM-1 is present.",
-                    "Must return true if VRM is present and false if VRM is",
-                    "missing." ],
-      "id": "is_dcm1_vrm_present_rule",
-      "actions": [
         {
-          "comments": [ "Check whether the VRM FRU is present OR the DCM-1",
+            "comments": [
+                "Rule to configure a VDD rail using the PMBus interface"
+            ],
+            "id": "configure_vdd_rule",
+            "actions": [
+                { "run_rule": "set_page0_rule" },
+                { "run_rule": "set_iout_oc_warn_limit_rule" },
+                {
+                    "comments": [
+                        "Set VOUT_MODE to exponent of -9 for VDD regulator",
+                        "to support older and newer hardware."
+                    ],
+                    "i2c_write_byte": { "register": "0x20", "value": "0x17" }
+                },
+                { "run_rule": "set_operation_and_voltage_rule" },
+                {
+                    "comments": [
+                        "Set VOUT_MIN to 0V since for VDD the voltage",
+                        "can go down to 0.5V so we want to lower this",
+                        "limit below 0.5V so the regulator does not trip."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x2B",
+                        "values": ["0x00", "0x00"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set VOUT_MAX to 1.255V since for VDD the voltage",
+                        "can go up to 1.1V so we want to raise this",
+                        "limit above 1.1V so the regulator does not trip."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x24",
+                        "values": ["0x83", "0x02"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set POWER_GOOD_ON for VDD to a value of 0.5V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x5E",
+                        "values": ["0x00", "0x01"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set POWER_GOOD_OFF for VDD to a value of 0.4V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x5F",
+                        "values": ["0xCD", "0x00"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set VOUT_OV_WARN_LIMIT for VDD to a value of 1.30V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x42",
+                        "values": ["0x9A", "0x02"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set VOUT_UV_WARN_LIMIT for VDD to a value of 0.45V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x43",
+                        "values": ["0xE6", "0x00"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set TOFF_FALL time for VDD to a value of 10ms."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x65",
+                        "values": ["0x28", "0xF0"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set IOUT_OC_FAULT_RESPONSE for VDD to shutdown."
+                    ],
+                    "i2c_write_byte": { "register": "0x47", "value": "0xC0" }
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to configure a VDN rail using the PMBus interface"
+            ],
+            "id": "configure_vdn_rule",
+            "actions": [
+                { "run_rule": "set_page0_rule" },
+                { "run_rule": "set_operation_and_voltage_rule" },
+                {
+                    "comments": [
+                        "Set VOUT_MIN to 0V since for VDN the voltage",
+                        "can go down to 0.6V so we want to lower this",
+                        "limit below 0.6V so the regulator does not trip."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x2B",
+                        "values": ["0x00", "0x00"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set VOUT_MAX to 1.1V since for VDN the voltage",
+                        "can go up to 1.0V so we want to raise this",
+                        "limit above 1.0V so the regulator does not trip."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x24",
+                        "values": ["0x33", "0x02"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set POWER_GOOD_ON for VDN to a value of 0.45V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x5E",
+                        "values": ["0xE6", "0x00"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set POWER_GOOD_OFF for VDN to a value of 0.40V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x5F",
+                        "values": ["0xCC", "0x00"]
+                    }
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to configure a VCS rail using the PMBus interface"
+            ],
+            "id": "configure_vcs_rule",
+            "actions": [
+                { "run_rule": "set_page1_rule" },
+                { "run_rule": "set_operation_and_voltage_rule" },
+                {
+                    "comments": [
+                        "Set VOUT_MIN to 0V since for VCS the voltage",
+                        "can go down to 0.7V so we want to lower this",
+                        "limit below 0.7V so the regulator does not trip."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x2B",
+                        "values": ["0x00", "0x00"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set VOUT_MAX to 1.2V since for VCS the voltage",
+                        "can go up to 1.1V so we want to raise this",
+                        "limit above 1.1V so the regulator does not trip."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x24",
+                        "values": ["0x66", "0x02"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set POWER_GOOD_ON for VCS to a value of 0.55V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x5E",
+                        "values": ["0x19", "0x01"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set POWER_GOOD_OFF for VCS to a value of 0.50V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x5F",
+                        "values": ["0x00", "0x01"]
+                    }
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to configure a VIO rail using the PMBus interface"
+            ],
+            "id": "configure_vio_rule",
+            "actions": [
+                { "run_rule": "set_page0_rule" },
+                { "run_rule": "set_operation_and_voltage_rule" },
+                {
+                    "comments": [
+                        "Set VOUT_MIN to 0V since for VIO the voltage",
+                        "can go down to 0.8V so we want to lower this",
+                        "limit below 0.8V so the regulator does not trip."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x2B",
+                        "values": ["0x00", "0x00"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set VOUT_MAX to 1.1V since for VIO the voltage",
+                        "can go up to 1.0V so we want to raise this",
+                        "limit above 1.0V so the regulator does not trip."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x24",
+                        "values": ["0x33", "0x02"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set POWER_GOOD_ON for VIO to a value of 0.55V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x5E",
+                        "values": ["0x19", "0x01"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set POWER_GOOD_OFF for VIO to a value of 0.50V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x5F",
+                        "values": ["0x00", "0x01"]
+                    }
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to configure a VPCIE rail using the PMBus interface"
+            ],
+            "id": "configure_vpcie_rule",
+            "actions": [
+                { "run_rule": "set_page0_rule" },
+                { "run_rule": "set_voltage_rule" },
+                {
+                    "comments": [
+                        "Set VOUT_MIN to 0V since for VPCIE the voltage",
+                        "can go down to 0.81V so we want to lower this",
+                        "limit below 0.81V so the regulator does not trip."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x2B",
+                        "values": ["0x00", "0x00"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set VOUT_MAX to 1.0V since for VPCIE the voltage",
+                        "can go up to 0.91V so we want to raise this",
+                        "limit above 0.91V so the regulator does not trip."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x24",
+                        "values": ["0x00", "0x02"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set POWER_GOOD_ON for VPCIE to a value of 0.65V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x5E",
+                        "values": ["0x4C", "0x01"]
+                    }
+                },
+                {
+                    "comments": [
+                        "Set POWER_GOOD_OFF for VPCIE to a value of 0.60V."
+                    ],
+                    "i2c_write_bytes": {
+                        "register": "0x5F",
+                        "values": ["0x33", "0x01"]
+                    }
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to read sensors on IR38064 regulators using the",
+                "PMBus interface"
+            ],
+            "id": "read_sensors_ir38064_rule",
+            "actions": [
+                {
+                    "comments": ["Read output current from READ_IOUT"],
+                    "pmbus_read_sensor": {
+                        "type": "iout",
+                        "command": "0x8C",
+                        "format": "linear_11"
+                    }
+                },
+                {
+                    "comments": [
+                        "Read highest output current from MFR_IOUT_PEAK"
+                    ],
+                    "pmbus_read_sensor": {
+                        "type": "iout_peak",
+                        "command": "0xDC",
+                        "format": "linear_11"
+                    }
+                },
+                {
+                    "comments": ["Read output power from READ_POUT"],
+                    "pmbus_read_sensor": {
+                        "type": "pout",
+                        "command": "0x96",
+                        "format": "linear_11"
+                    }
+                },
+                {
+                    "comments": ["Read temperature from READ_TEMPERATURE"],
+                    "pmbus_read_sensor": {
+                        "type": "temperature",
+                        "command": "0x8D",
+                        "format": "linear_11"
+                    }
+                },
+                {
+                    "comments": [
+                        "Read highest temperature from MFR_TEMPERATURE_PEAK"
+                    ],
+                    "pmbus_read_sensor": {
+                        "type": "temperature_peak",
+                        "command": "0xDD",
+                        "format": "linear_11"
+                    }
+                },
+                {
+                    "comments": [
+                        "Read output voltage from READ_VOUT.",
+                        "Note: regulator does not support VOUT_MODE, so the",
+                        "exponent must be specified."
+                    ],
+                    "pmbus_read_sensor": {
+                        "type": "vout",
+                        "command": "0x8B",
+                        "format": "linear_16",
+                        "exponent": -8
+                    }
+                },
+                {
+                    "comments": [
+                        "Read highest output voltage from MFR_VOUT_PEAK.",
+                        "Note: regulator does not support VOUT_MODE, so the",
+                        "exponent must be specified."
+                    ],
+                    "pmbus_read_sensor": {
+                        "type": "vout_peak",
+                        "command": "0xDB",
+                        "format": "linear_16",
+                        "exponent": -8
+                    }
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to read sensors on IR35221 regulators using the",
+                "PMBus interface"
+            ],
+            "id": "read_sensors_ir35221_rule",
+            "actions": [
+                {
+                    "comments": ["Read output current from READ_IOUT"],
+                    "pmbus_read_sensor": {
+                        "type": "iout",
+                        "command": "0x8C",
+                        "format": "linear_11"
+                    }
+                },
+                {
+                    "comments": [
+                        "Read highest output current from MFR_IOUT_PEAK"
+                    ],
+                    "pmbus_read_sensor": {
+                        "type": "iout_peak",
+                        "command": "0xC7",
+                        "format": "linear_11"
+                    }
+                },
+                {
+                    "comments": [
+                        "Read lowest output current from MFR_IOUT_VALLEY"
+                    ],
+                    "pmbus_read_sensor": {
+                        "type": "iout_valley",
+                        "command": "0xCB",
+                        "format": "linear_11"
+                    }
+                },
+                {
+                    "comments": ["Read output power from READ_POUT"],
+                    "pmbus_read_sensor": {
+                        "type": "pout",
+                        "command": "0x96",
+                        "format": "linear_11"
+                    }
+                },
+                {
+                    "comments": ["Read temperature from READ_TEMPERATURE_1"],
+                    "pmbus_read_sensor": {
+                        "type": "temperature",
+                        "command": "0x8D",
+                        "format": "linear_11"
+                    }
+                },
+                {
+                    "comments": ["Read highest temperature from MFR_TEMP_PEAK"],
+                    "pmbus_read_sensor": {
+                        "type": "temperature_peak",
+                        "command": "0xC8",
+                        "format": "linear_11"
+                    }
+                },
+                {
+                    "comments": ["Read output voltage from READ_VOUT"],
+                    "pmbus_read_sensor": {
+                        "type": "vout",
+                        "command": "0x8B",
+                        "format": "linear_16"
+                    }
+                },
+                {
+                    "comments": [
+                        "Read highest output voltage from MFR_VOUT_PEAK"
+                    ],
+                    "pmbus_read_sensor": {
+                        "type": "vout_peak",
+                        "command": "0xC6",
+                        "format": "linear_16"
+                    }
+                },
+                {
+                    "comments": [
+                        "Read lowest output voltage from MFR_VOUT_VALLEY"
+                    ],
+                    "pmbus_read_sensor": {
+                        "type": "vout_valley",
+                        "command": "0xCA",
+                        "format": "linear_16"
+                    }
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to read sensors on PAGE 0 of IR35221 regulators",
+                "using the PMBus interface"
+            ],
+            "id": "read_sensors_ir35221_page0_rule",
+            "actions": [
+                { "run_rule": "set_page0_rule" },
+                { "run_rule": "read_sensors_ir35221_rule" }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to read sensors on PAGE 1 of IR35221 regulators",
+                "using the PMBus interface"
+            ],
+            "id": "read_sensors_ir35221_page1_rule",
+            "actions": [
+                { "run_rule": "set_page1_rule" },
+                { "run_rule": "read_sensors_ir35221_rule" }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to read sensors on PAGE 0 of XDPE132G5C regulators",
+                "using the PMBus interface"
+            ],
+            "id": "read_sensors_xdpe132g5c_page0_rule",
+            "actions": [
+                {
+                    "comments": ["Can use same rule as for IR35221 regulators"],
+                    "run_rule": "read_sensors_ir35221_page0_rule"
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to determine if the current system is a 2S4U/2S2U.",
+                "2S systems have more regulators on the Nisqually system",
+                "planar than 1S systems.  Must return true if system is a",
+                "2S4U/2S2U and false if system is a 1S4U."
+            ],
+            "id": "is_2s_system_rule",
+            "actions": [
+                {
+                    "comments": [
+                        "Check whether the CCIN VPD keyword on the Nisqually",
+                        "system planar has the value for 2S4U or 2S2U"
+                    ],
+                    "or": [
+                        {
+                            "compare_vpd": {
+                                "fru": "system/chassis/motherboard",
+                                "keyword": "CCIN",
+                                "value": "2E2F"
+                            }
+                        },
+                        {
+                            "compare_vpd": {
+                                "fru": "system/chassis/motherboard",
+                                "keyword": "CCIN",
+                                "value": "2E2D"
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to determine if pass 2 or higher Nisqually",
+                "backplane is present.  Must return true if present and",
+                "false otherwise."
+            ],
+            "id": "is_pass2_nisqually_rule",
+            "actions": [
+                {
+                    "comments": [
+                        "Check that the PartNumber VPD keyword on the",
+                        "Nisqually system planar is not the value for",
+                        "the pass 1 2U or 4U."
+                    ],
+                    "not": {
+                        "or": [
+                            {
+                                "compare_vpd": {
+                                    "fru": "system/chassis/motherboard",
+                                    "keyword": "PartNumber",
+                                    "value": "02WG656"
+                                }
+                            },
+                            {
+                                "compare_vpd": {
+                                    "fru": "system/chassis/motherboard",
+                                    "keyword": "PartNumber",
+                                    "value": "02WG678"
+                                }
+                            }
+                        ]
+                    }
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to determine if the VRM FRU for DCM-1 is present.",
+                "Must return true if VRM is present and false if VRM is",
+                "missing."
+            ],
+            "id": "is_dcm1_vrm_present_rule",
+            "actions": [
+                {
+                    "comments": [
+                        "Check whether the VRM FRU is present OR the DCM-1",
                         "FRU is present.  This provides a double check in",
                         "case the VRM presence line is not working.  If DCM-1",
-                        "is present, the associated VRM should be too." ],
-          "or": [
-            { "compare_presence": { "fru": "system/chassis/motherboard/vdd_vrm1", "value": true } },
-            { "compare_presence": { "fru": "system/chassis/motherboard/dcm1/cpu0",     "value": true } }
-          ]
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to determine if a Flett card is present in slot C8.",
-                    "This requires a Nisqually pass2+ due to I2C bus number",
-                    "differences between pass 1 and pass 2.",
-                    "Pass 1 and pass 2 Fletts are both supported.",
-                    "Must return true if present and false otherwise." ],
-      "id": "is_flett_c8_present_rule",
-      "actions": [
-        {
-          "if": {
-            "condition": {
-              "comments": [ "Check if the Nisqually is pass 2" ],
-              "run_rule": "is_pass2_nisqually_rule"
-            },
-            "then": [
-              {
-                "comments": [ "Check if a card is present in slot C8" ],
-                "if": {
-                  "condition": {
-                    "compare_presence": {
-                        "fru": "system/chassis/motherboard/pcieslot8/pcie_card8",
-                        "value": true
-                    }
-                  },
-                  "then": [
-                    {
-                      "comments": [ "Check if card has Flett CCIN keyword" ],
-                      "compare_vpd": {
-                        "fru": "system/chassis/motherboard/pcieslot8/pcie_card8",
-                        "keyword": "CCIN",
-                        "value": "6B87"
-                      }
-                    }
-                  ]
-                }
-              }
-            ]
-          }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to determine if a Flett card is present in slot C9.",
-                    "This requires a Nisqually pass2+ due to I2C bus number",
-                    "differences between pass 1 and pass 2.",
-                    "This also requires the Flett to be pass 2 because the",
-                    "pass 1 regulator has a different I2C address.",
-                    "Must return true if present and false otherwise." ],
-      "id": "is_flett_c9_present_rule",
-      "actions": [
-        {
-          "if": {
-            "condition": {
-              "comments": [ "Check if the Nisqually is pass 2" ],
-              "run_rule": "is_pass2_nisqually_rule"
-            },
-            "then": [
-              {
-                "comments": [ "Check if a card is present in slot C9" ],
-                "if": {
-                  "condition": {
-                    "compare_presence": {
-                        "fru": "system/chassis/motherboard/pcieslot9/pcie_card9",
-                        "value": true
-                    }
-                  },
-                  "then": [
-                    {
-                      "comments": [ "Check if card has Flett CCIN keyword" ],
-                      "if": {
-                        "condition": {
-                          "compare_vpd": {
-                            "fru": "system/chassis/motherboard/pcieslot9/pcie_card9",
-                            "keyword": "CCIN",
-                            "value": "6B87"
-                          }
-                        },
-                        "then": [
-                          {
-                            "comments": [
-                                "Check that card does not have a pass 1",
-                                "part number"
-                            ],
-                            "not": {
-                              "or": [
-                                {
-                                  "compare_vpd": {
-                                    "fru": "system/chassis/motherboard/pcieslot9/pcie_card9",
-                                    "keyword": "PartNumber",
-                                    "value": "03FL194"
-                                  }
-                                },
-                                {
-                                  "compare_vpd": {
-                                    "fru": "system/chassis/motherboard/pcieslot9/pcie_card9",
-                                    "keyword": "PartNumber",
-                                    "value": "03FL204"
-                                  }
-                                }
-                              ]
+                        "is present, the associated VRM should be too."
+                    ],
+                    "or": [
+                        {
+                            "compare_presence": {
+                                "fru": "system/chassis/motherboard/vdd_vrm1",
+                                "value": true
                             }
-                          }
-                        ]
-                      }
-                    }
-                  ]
-                }
-              }
-            ]
-          }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to determine if a Flett card is present in slot C10.",
-                    "This requires a Nisqually pass2+ due to I2C bus number",
-                    "differences between pass 1 and pass 2.",
-                    "This also requires the Flett to be pass 2 because the",
-                    "pass 1 regulator has a different I2C address.",
-                    "Must return true if present and false otherwise." ],
-      "id": "is_flett_c10_present_rule",
-      "actions": [
-        {
-          "if": {
-            "condition": {
-              "comments": [ "Check if the Nisqually is pass 2" ],
-              "run_rule": "is_pass2_nisqually_rule"
-            },
-            "then": [
-              {
-                "comments": [ "Check if a card is present in slot C10" ],
-                "if": {
-                  "condition": {
-                    "compare_presence": {
-                        "fru": "system/chassis/motherboard/pcieslot10/pcie_card10",
-                        "value": true
-                    }
-                  },
-                  "then": [
-                    {
-                      "comments": [ "Check if card has Flett CCIN keyword" ],
-                      "if": {
-                        "condition": {
-                          "compare_vpd": {
-                            "fru": "system/chassis/motherboard/pcieslot10/pcie_card10",
-                            "keyword": "CCIN",
-                            "value": "6B87"
-                          }
                         },
-                        "then": [
-                          {
-                            "comments": [
-                                "Check that card does not have a pass 1",
-                                "part number"
-                            ],
-                            "not": {
-                              "or": [
-                                {
-                                  "compare_vpd": {
-                                    "fru": "system/chassis/motherboard/pcieslot10/pcie_card10",
-                                    "keyword": "PartNumber",
-                                    "value": "03FL194"
-                                  }
-                                },
-                                {
-                                  "compare_vpd": {
-                                    "fru": "system/chassis/motherboard/pcieslot10/pcie_card10",
-                                    "keyword": "PartNumber",
-                                    "value": "03FL204"
-                                  }
-                                }
-                              ]
+                        {
+                            "compare_presence": {
+                                "fru": "system/chassis/motherboard/dcm1/cpu0",
+                                "value": true
                             }
-                          }
-                        ]
-                      }
-                    }
-                  ]
+                        }
+                    ]
                 }
-              }
             ]
-          }
-        }
-      ]
-    },
-
-
-    {
-      "comments": [ "Rule to determine if a Flett card is present in slot C11.",
-                    "This requires a Nisqually pass2+ due to I2C bus number",
-                    "differences between pass 1 and pass 2.",
-                    "Pass 1 and pass 2 Fletts are both supported.",
-                    "Must return true if present and false otherwise." ],
-      "id": "is_flett_c11_present_rule",
-      "actions": [
-        {
-          "if": {
-            "condition": {
-              "comments": [ "Check if the Nisqually is pass 2" ],
-              "run_rule": "is_pass2_nisqually_rule"
-            },
-            "then": [
-              {
-                "comments": [ "Check if a card is present in slot C11" ],
-                "if": {
-                  "condition": {
-                    "compare_presence": {
-                        "fru": "system/chassis/motherboard/pcieslot11/pcie_card11",
-                        "value": true
-                    }
-                  },
-                  "then": [
-                    {
-                      "comments": [ "Check if card has Flett CCIN keyword" ],
-                      "compare_vpd": {
-                        "fru": "system/chassis/motherboard/pcieslot11/pcie_card11",
-                        "keyword": "CCIN",
-                        "value": "6B87"
-                      }
-                    }
-                  ]
-                }
-              }
-            ]
-          }
-        }
-      ]
-    }
-  ],
-
-
-  "chassis": [
-    {
-      "comments": [ "Chassis (drawer) 1" ],
-      "number": 1,
-      "inventory_path": "system/chassis",
-      "devices": [
-        {
-          "comments": [ "AVDD / IR38064: Primary PMBus Interface",
-                        "In schematic: bus 4 (1-based), address 0xE2 (8-bit)" ],
-          "id": "avdd_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard",
-          "i2c_interface": { "bus": 3, "address": "0x71" },
-          "presence_detection": { "rule_id": "is_pass2_nisqually_rule" },
-          "rails": [
-            {
-              "id": "avdd_rail",
-              "sensor_monitoring": { "rule_id": "read_sensors_ir38064_rule" }
-            }
-          ]
         },
 
+        {
+            "comments": [
+                "Rule to determine if a Flett card is present in slot C8.",
+                "This requires a Nisqually pass2+ due to I2C bus number",
+                "differences between pass 1 and pass 2.",
+                "Pass 1 and pass 2 Fletts are both supported.",
+                "Must return true if present and false otherwise."
+            ],
+            "id": "is_flett_c8_present_rule",
+            "actions": [
+                {
+                    "if": {
+                        "condition": {
+                            "comments": ["Check if the Nisqually is pass 2"],
+                            "run_rule": "is_pass2_nisqually_rule"
+                        },
+                        "then": [
+                            {
+                                "comments": [
+                                    "Check if a card is present in slot C8"
+                                ],
+                                "if": {
+                                    "condition": {
+                                        "compare_presence": {
+                                            "fru": "system/chassis/motherboard/pcieslot8/pcie_card8",
+                                            "value": true
+                                        }
+                                    },
+                                    "then": [
+                                        {
+                                            "comments": [
+                                                "Check if card has Flett CCIN keyword"
+                                            ],
+                                            "compare_vpd": {
+                                                "fru": "system/chassis/motherboard/pcieslot8/pcie_card8",
+                                                "keyword": "CCIN",
+                                                "value": "6B87"
+                                            }
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                }
+            ]
+        },
 
         {
-          "comments": [ "3.3VA / TPS549D22",
+            "comments": [
+                "Rule to determine if a Flett card is present in slot C9.",
+                "This requires a Nisqually pass2+ due to I2C bus number",
+                "differences between pass 1 and pass 2.",
+                "This also requires the Flett to be pass 2 because the",
+                "pass 1 regulator has a different I2C address.",
+                "Must return true if present and false otherwise."
+            ],
+            "id": "is_flett_c9_present_rule",
+            "actions": [
+                {
+                    "if": {
+                        "condition": {
+                            "comments": ["Check if the Nisqually is pass 2"],
+                            "run_rule": "is_pass2_nisqually_rule"
+                        },
+                        "then": [
+                            {
+                                "comments": [
+                                    "Check if a card is present in slot C9"
+                                ],
+                                "if": {
+                                    "condition": {
+                                        "compare_presence": {
+                                            "fru": "system/chassis/motherboard/pcieslot9/pcie_card9",
+                                            "value": true
+                                        }
+                                    },
+                                    "then": [
+                                        {
+                                            "comments": [
+                                                "Check if card has Flett CCIN keyword"
+                                            ],
+                                            "if": {
+                                                "condition": {
+                                                    "compare_vpd": {
+                                                        "fru": "system/chassis/motherboard/pcieslot9/pcie_card9",
+                                                        "keyword": "CCIN",
+                                                        "value": "6B87"
+                                                    }
+                                                },
+                                                "then": [
+                                                    {
+                                                        "comments": [
+                                                            "Check that card does not have a pass 1",
+                                                            "part number"
+                                                        ],
+                                                        "not": {
+                                                            "or": [
+                                                                {
+                                                                    "compare_vpd": {
+                                                                        "fru": "system/chassis/motherboard/pcieslot9/pcie_card9",
+                                                                        "keyword": "PartNumber",
+                                                                        "value": "03FL194"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "compare_vpd": {
+                                                                        "fru": "system/chassis/motherboard/pcieslot9/pcie_card9",
+                                                                        "keyword": "PartNumber",
+                                                                        "value": "03FL204"
+                                                                    }
+                                                                }
+                                                            ]
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to determine if a Flett card is present in slot C10.",
+                "This requires a Nisqually pass2+ due to I2C bus number",
+                "differences between pass 1 and pass 2.",
+                "This also requires the Flett to be pass 2 because the",
+                "pass 1 regulator has a different I2C address.",
+                "Must return true if present and false otherwise."
+            ],
+            "id": "is_flett_c10_present_rule",
+            "actions": [
+                {
+                    "if": {
+                        "condition": {
+                            "comments": ["Check if the Nisqually is pass 2"],
+                            "run_rule": "is_pass2_nisqually_rule"
+                        },
+                        "then": [
+                            {
+                                "comments": [
+                                    "Check if a card is present in slot C10"
+                                ],
+                                "if": {
+                                    "condition": {
+                                        "compare_presence": {
+                                            "fru": "system/chassis/motherboard/pcieslot10/pcie_card10",
+                                            "value": true
+                                        }
+                                    },
+                                    "then": [
+                                        {
+                                            "comments": [
+                                                "Check if card has Flett CCIN keyword"
+                                            ],
+                                            "if": {
+                                                "condition": {
+                                                    "compare_vpd": {
+                                                        "fru": "system/chassis/motherboard/pcieslot10/pcie_card10",
+                                                        "keyword": "CCIN",
+                                                        "value": "6B87"
+                                                    }
+                                                },
+                                                "then": [
+                                                    {
+                                                        "comments": [
+                                                            "Check that card does not have a pass 1",
+                                                            "part number"
+                                                        ],
+                                                        "not": {
+                                                            "or": [
+                                                                {
+                                                                    "compare_vpd": {
+                                                                        "fru": "system/chassis/motherboard/pcieslot10/pcie_card10",
+                                                                        "keyword": "PartNumber",
+                                                                        "value": "03FL194"
+                                                                    }
+                                                                },
+                                                                {
+                                                                    "compare_vpd": {
+                                                                        "fru": "system/chassis/motherboard/pcieslot10/pcie_card10",
+                                                                        "keyword": "PartNumber",
+                                                                        "value": "03FL204"
+                                                                    }
+                                                                }
+                                                            ]
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                }
+            ]
+        },
+
+        {
+            "comments": [
+                "Rule to determine if a Flett card is present in slot C11.",
+                "This requires a Nisqually pass2+ due to I2C bus number",
+                "differences between pass 1 and pass 2.",
+                "Pass 1 and pass 2 Fletts are both supported.",
+                "Must return true if present and false otherwise."
+            ],
+            "id": "is_flett_c11_present_rule",
+            "actions": [
+                {
+                    "if": {
+                        "condition": {
+                            "comments": ["Check if the Nisqually is pass 2"],
+                            "run_rule": "is_pass2_nisqually_rule"
+                        },
+                        "then": [
+                            {
+                                "comments": [
+                                    "Check if a card is present in slot C11"
+                                ],
+                                "if": {
+                                    "condition": {
+                                        "compare_presence": {
+                                            "fru": "system/chassis/motherboard/pcieslot11/pcie_card11",
+                                            "value": true
+                                        }
+                                    },
+                                    "then": [
+                                        {
+                                            "comments": [
+                                                "Check if card has Flett CCIN keyword"
+                                            ],
+                                            "compare_vpd": {
+                                                "fru": "system/chassis/motherboard/pcieslot11/pcie_card11",
+                                                "keyword": "CCIN",
+                                                "value": "6B87"
+                                            }
+                                        }
+                                    ]
+                                }
+                            }
+                        ]
+                    }
+                }
+            ]
+        }
+    ],
+
+    "chassis": [
+        {
+            "comments": ["Chassis (drawer) 1"],
+            "number": 1,
+            "inventory_path": "system/chassis",
+            "devices": [
+                {
+                    "comments": [
+                        "AVDD / IR38064: Primary PMBus Interface",
+                        "In schematic: bus 4 (1-based), address 0xE2 (8-bit)"
+                    ],
+                    "id": "avdd_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard",
+                    "i2c_interface": { "bus": 3, "address": "0x71" },
+                    "presence_detection": {
+                        "rule_id": "is_pass2_nisqually_rule"
+                    },
+                    "rails": [
+                        {
+                            "id": "avdd_rail",
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir38064_rule"
+                            }
+                        }
+                    ]
+                },
+
+                {
+                    "comments": [
+                        "3.3VA / TPS549D22",
                         "In schematic: bus 9 (1-based), address 0x36 (8-bit)",
                         "Does not have power at standby; cannot be configured",
-                        "Does not support the PMBus PAGE command" ],
-          "id": "3_3va_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard",
-          "i2c_interface": { "bus": 8, "address": "0x1B" },
-          "rails": [
-            {
-              "id": "3_3va_rail"
-            }
-          ]
-        },
+                        "Does not support the PMBus PAGE command"
+                    ],
+                    "id": "3_3va_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard",
+                    "i2c_interface": { "bus": 8, "address": "0x1B" },
+                    "rails": [
+                        {
+                            "id": "3_3va_rail"
+                        }
+                    ]
+                },
 
-
-        {
-          "comments": [ "3.3VB / TPS549D22",
+                {
+                    "comments": [
+                        "3.3VB / TPS549D22",
                         "In schematic: bus 4 (1-based), address 0x38 (8-bit)",
                         "Does not have power at standby; cannot be configured",
-                        "Does not support the PMBus PAGE command" ],
-          "id": "3_3vb_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard",
-          "i2c_interface": { "bus": 3, "address": "0x1C" },
-          "rails": [
-            {
-              "id": "3_3vb_rail"
-            }
-          ]
-        },
+                        "Does not support the PMBus PAGE command"
+                    ],
+                    "id": "3_3vb_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard",
+                    "i2c_interface": { "bus": 3, "address": "0x1C" },
+                    "rails": [
+                        {
+                            "id": "3_3vb_rail"
+                        }
+                    ]
+                },
 
+                {
+                    "comments": [
+                        "VDDp0 DCM 0 / XDPE132G5C: Primary PMBus Interface",
+                        "In schematic: bus 10 (1-based), address 0xE2 (8-bit)"
+                    ],
+                    "id": "vdd_p0_dcm0_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard/vdd_vrm0",
+                    "i2c_interface": { "bus": 9, "address": "0x71" },
+                    "rails": [
+                        {
+                            "id": "vdd_p0_dcm0_rail",
+                            "configuration": {
+                                "volts": 0.9,
+                                "rule_id": "configure_vdd_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_xdpe132g5c_page0_rule"
+                            }
+                        }
+                    ]
+                },
 
-        {
-          "comments": [ "VDDp0 DCM 0 / XDPE132G5C: Primary PMBus Interface",
-                        "In schematic: bus 10 (1-based), address 0xE2 (8-bit)" ],
-          "id": "vdd_p0_dcm0_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard/vdd_vrm0",
-          "i2c_interface": { "bus": 9, "address": "0x71" },
-          "rails": [
-            {
-              "id": "vdd_p0_dcm0_rail",
-              "configuration": {
-                "volts": 0.9,
-                "rule_id": "configure_vdd_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_xdpe132g5c_page0_rule" }
-            }
-          ]
-        },
+                {
+                    "comments": [
+                        "VDDp1 DCM 0 / XDPE132G5C: Primary PMBus Interface",
+                        "In schematic: bus 10 (1-based), address 0xE0 (8-bit)"
+                    ],
+                    "id": "vdd_p1_dcm0_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard/vdd_vrm0",
+                    "i2c_interface": { "bus": 9, "address": "0x70" },
+                    "rails": [
+                        {
+                            "id": "vdd_p1_dcm0_rail",
+                            "configuration": {
+                                "volts": 0.9,
+                                "rule_id": "configure_vdd_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_xdpe132g5c_page0_rule"
+                            }
+                        }
+                    ]
+                },
 
+                {
+                    "comments": [
+                        "VDDp0 DCM 1 / XDPE132G5C: Primary PMBus Interface",
+                        "In schematic: bus 11 (1-based), address 0xE2 (8-bit)"
+                    ],
+                    "id": "vdd_p0_dcm1_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard/vdd_vrm1",
+                    "i2c_interface": { "bus": 10, "address": "0x71" },
+                    "presence_detection": {
+                        "rule_id": "is_dcm1_vrm_present_rule"
+                    },
+                    "rails": [
+                        {
+                            "id": "vdd_p0_dcm1_rail",
+                            "configuration": {
+                                "volts": 0.9,
+                                "rule_id": "configure_vdd_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_xdpe132g5c_page0_rule"
+                            }
+                        }
+                    ]
+                },
 
-        {
-          "comments": [ "VDDp1 DCM 0 / XDPE132G5C: Primary PMBus Interface",
-                        "In schematic: bus 10 (1-based), address 0xE0 (8-bit)" ],
-          "id": "vdd_p1_dcm0_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard/vdd_vrm0",
-          "i2c_interface": { "bus": 9, "address": "0x70" },
-          "rails": [
-            {
-              "id": "vdd_p1_dcm0_rail",
-              "configuration": {
-                "volts": 0.9,
-                "rule_id": "configure_vdd_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_xdpe132g5c_page0_rule" }
-            }
-          ]
-        },
+                {
+                    "comments": [
+                        "VDDp1 DCM 1 / XDPE132G5C: Primary PMBus Interface",
+                        "In schematic: bus 11 (1-based), address 0xE0 (8-bit)"
+                    ],
+                    "id": "vdd_p1_dcm1_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard/vdd_vrm1",
+                    "i2c_interface": { "bus": 10, "address": "0x70" },
+                    "presence_detection": {
+                        "rule_id": "is_dcm1_vrm_present_rule"
+                    },
+                    "rails": [
+                        {
+                            "id": "vdd_p1_dcm1_rail",
+                            "configuration": {
+                                "volts": 0.9,
+                                "rule_id": "configure_vdd_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_xdpe132g5c_page0_rule"
+                            }
+                        }
+                    ]
+                },
 
+                {
+                    "comments": [
+                        "VDN & VCSp0 DCM 0 / IR35221: Primary PMBus Interface",
+                        "In schematic: bus 10 (1-based), address 0xE4 (8-bit)"
+                    ],
+                    "id": "vdn_vcs_p0_dcm0_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard",
+                    "i2c_interface": { "bus": 9, "address": "0x72" },
+                    "rails": [
+                        {
+                            "comments": ["PMBus PAGE 0 rail"],
+                            "id": "vdn_dcm0_rail",
+                            "configuration": {
+                                "volts": 0.9,
+                                "rule_id": "configure_vdn_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page0_rule"
+                            }
+                        },
+                        {
+                            "comments": ["PMBus PAGE 1 rail"],
+                            "id": "vcs_p0_dcm0_rail",
+                            "configuration": {
+                                "volts": 1.0,
+                                "rule_id": "configure_vcs_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page1_rule"
+                            }
+                        }
+                    ]
+                },
 
-        {
-          "comments": [ "VDDp0 DCM 1 / XDPE132G5C: Primary PMBus Interface",
-                        "In schematic: bus 11 (1-based), address 0xE2 (8-bit)" ],
-          "id": "vdd_p0_dcm1_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard/vdd_vrm1",
-          "i2c_interface": { "bus": 10, "address": "0x71" },
-          "presence_detection": { "rule_id": "is_dcm1_vrm_present_rule" },
-          "rails": [
-            {
-              "id": "vdd_p0_dcm1_rail",
-              "configuration": {
-                "volts": 0.9,
-                "rule_id": "configure_vdd_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_xdpe132g5c_page0_rule" }
-            }
-          ]
-        },
+                {
+                    "comments": [
+                        "VIO & VCSp1 DCM 0 / IR35221: Primary PMBus Interface",
+                        "In schematic: bus 10 (1-based), address 0xE6 (8-bit)"
+                    ],
+                    "id": "vio_vcs_p1_dcm0_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard",
+                    "i2c_interface": { "bus": 9, "address": "0x73" },
+                    "rails": [
+                        {
+                            "comments": ["PMBus PAGE 0 rail"],
+                            "id": "vio_dcm0_rail",
+                            "configuration": {
+                                "volts": 1.02,
+                                "rule_id": "configure_vio_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page0_rule"
+                            }
+                        },
+                        {
+                            "comments": ["PMBus PAGE 1 rail"],
+                            "id": "vcs_p1_dcm0_rail",
+                            "configuration": {
+                                "volts": 1.0,
+                                "rule_id": "configure_vcs_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page1_rule"
+                            }
+                        }
+                    ]
+                },
 
+                {
+                    "comments": [
+                        "VDN & VCSp0 DCM 1 / IR35221: Primary PMBus Interface",
+                        "In schematic: bus 11 (1-based), address 0xE4 (8-bit)"
+                    ],
+                    "id": "vdn_vcs_p0_dcm1_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard",
+                    "i2c_interface": { "bus": 10, "address": "0x72" },
+                    "presence_detection": { "rule_id": "is_2s_system_rule" },
+                    "rails": [
+                        {
+                            "comments": ["PMBus PAGE 0 rail"],
+                            "id": "vdn_dcm1_rail",
+                            "configuration": {
+                                "volts": 0.9,
+                                "rule_id": "configure_vdn_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page0_rule"
+                            }
+                        },
+                        {
+                            "comments": ["PMBus PAGE 1 rail"],
+                            "id": "vcs_p0_dcm1_rail",
+                            "configuration": {
+                                "volts": 1.0,
+                                "rule_id": "configure_vcs_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page1_rule"
+                            }
+                        }
+                    ]
+                },
 
-        {
-          "comments": [ "VDDp1 DCM 1 / XDPE132G5C: Primary PMBus Interface",
-                        "In schematic: bus 11 (1-based), address 0xE0 (8-bit)" ],
-          "id": "vdd_p1_dcm1_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard/vdd_vrm1",
-          "i2c_interface": { "bus": 10, "address": "0x70" },
-          "presence_detection": { "rule_id": "is_dcm1_vrm_present_rule" },
-          "rails": [
-            {
-              "id": "vdd_p1_dcm1_rail",
-              "configuration": {
-                "volts": 0.9,
-                "rule_id": "configure_vdd_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_xdpe132g5c_page0_rule" }
-            }
-          ]
-        },
+                {
+                    "comments": [
+                        "VIO & VCSp1 DCM 1 / IR35221: Primary PMBus Interface",
+                        "In schematic: bus 11 (1-based), address 0xE6 (8-bit)"
+                    ],
+                    "id": "vio_vcs_p1_dcm1_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard",
+                    "i2c_interface": { "bus": 10, "address": "0x73" },
+                    "presence_detection": { "rule_id": "is_2s_system_rule" },
+                    "rails": [
+                        {
+                            "comments": ["PMBus PAGE 0 rail"],
+                            "id": "vio_dcm1_rail",
+                            "configuration": {
+                                "volts": 1.02,
+                                "rule_id": "configure_vio_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page0_rule"
+                            }
+                        },
+                        {
+                            "comments": ["PMBus PAGE 1 rail"],
+                            "id": "vcs_p1_dcm1_rail",
+                            "configuration": {
+                                "volts": 1.0,
+                                "rule_id": "configure_vcs_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page1_rule"
+                            }
+                        }
+                    ]
+                },
 
+                {
+                    "comments": [
+                        "VPCIe DCM 0 / IR35221: Primary PMBus Interface",
+                        "In schematic: bus 10 (1-based), address 0xE8 (8-bit)"
+                    ],
+                    "id": "vpcie_dcm0_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard",
+                    "i2c_interface": { "bus": 9, "address": "0x74" },
+                    "rails": [
+                        {
+                            "id": "vpcie_dcm0_rail",
+                            "configuration": {
+                                "volts": 0.86,
+                                "rule_id": "configure_vpcie_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page0_rule"
+                            }
+                        }
+                    ]
+                },
 
-        {
-          "comments": [ "VDN & VCSp0 DCM 0 / IR35221: Primary PMBus Interface",
-                        "In schematic: bus 10 (1-based), address 0xE4 (8-bit)" ],
-          "id": "vdn_vcs_p0_dcm0_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard",
-          "i2c_interface": { "bus": 9, "address": "0x72" },
-          "rails": [
-            {
-              "comments": [ "PMBus PAGE 0 rail" ],
-              "id": "vdn_dcm0_rail",
-              "configuration": {
-                "volts": 0.9,
-                "rule_id": "configure_vdn_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page0_rule" }
-            },
-            {
-              "comments": [ "PMBus PAGE 1 rail" ],
-              "id": "vcs_p0_dcm0_rail",
-              "configuration": {
-                "volts": 1.0,
-                "rule_id": "configure_vcs_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page1_rule" }
-            }
-          ]
-        },
+                {
+                    "comments": [
+                        "VPCIe DCM 1 / IR35221: Primary PMBus Interface",
+                        "In schematic: bus 11 (1-based), address 0xE8 (8-bit)"
+                    ],
+                    "id": "vpcie_dcm1_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard",
+                    "i2c_interface": { "bus": 10, "address": "0x74" },
+                    "presence_detection": { "rule_id": "is_2s_system_rule" },
+                    "rails": [
+                        {
+                            "id": "vpcie_dcm1_rail",
+                            "configuration": {
+                                "volts": 0.86,
+                                "rule_id": "configure_vpcie_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page0_rule"
+                            }
+                        }
+                    ]
+                },
 
-
-        {
-          "comments": [ "VIO & VCSp1 DCM 0 / IR35221: Primary PMBus Interface",
-                        "In schematic: bus 10 (1-based), address 0xE6 (8-bit)" ],
-          "id": "vio_vcs_p1_dcm0_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard",
-          "i2c_interface": { "bus": 9, "address": "0x73" },
-          "rails": [
-            {
-              "comments": [ "PMBus PAGE 0 rail" ],
-              "id": "vio_dcm0_rail",
-              "configuration": {
-                "volts": 1.02,
-                "rule_id": "configure_vio_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page0_rule" }
-            },
-            {
-              "comments": [ "PMBus PAGE 1 rail" ],
-              "id": "vcs_p1_dcm0_rail",
-              "configuration": {
-                "volts": 1.0,
-                "rule_id": "configure_vcs_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page1_rule" }
-            }
-          ]
-        },
-
-
-        {
-          "comments": [ "VDN & VCSp0 DCM 1 / IR35221: Primary PMBus Interface",
-                        "In schematic: bus 11 (1-based), address 0xE4 (8-bit)" ],
-          "id": "vdn_vcs_p0_dcm1_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard",
-          "i2c_interface": { "bus": 10, "address": "0x72" },
-          "presence_detection": { "rule_id": "is_2s_system_rule" },
-          "rails": [
-            {
-              "comments": [ "PMBus PAGE 0 rail" ],
-              "id": "vdn_dcm1_rail",
-              "configuration": {
-                "volts": 0.9,
-                "rule_id": "configure_vdn_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page0_rule" }
-            },
-            {
-              "comments": [ "PMBus PAGE 1 rail" ],
-              "id": "vcs_p0_dcm1_rail",
-              "configuration": {
-                "volts": 1.0,
-                "rule_id": "configure_vcs_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page1_rule" }
-            }
-          ]
-        },
-
-
-        {
-          "comments": [ "VIO & VCSp1 DCM 1 / IR35221: Primary PMBus Interface",
-                        "In schematic: bus 11 (1-based), address 0xE6 (8-bit)" ],
-          "id": "vio_vcs_p1_dcm1_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard",
-          "i2c_interface": { "bus": 10, "address": "0x73" },
-          "presence_detection": { "rule_id": "is_2s_system_rule" },
-          "rails": [
-            {
-              "comments": [ "PMBus PAGE 0 rail" ],
-              "id": "vio_dcm1_rail",
-              "configuration": {
-                "volts": 1.02,
-                "rule_id": "configure_vio_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page0_rule" }
-            },
-            {
-              "comments": [ "PMBus PAGE 1 rail" ],
-              "id": "vcs_p1_dcm1_rail",
-              "configuration": {
-                "volts": 1.0,
-                "rule_id": "configure_vcs_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page1_rule" }
-            }
-          ]
-        },
-
-
-        {
-          "comments": [ "VPCIe DCM 0 / IR35221: Primary PMBus Interface",
-                        "In schematic: bus 10 (1-based), address 0xE8 (8-bit)" ],
-          "id": "vpcie_dcm0_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard",
-          "i2c_interface": { "bus": 9, "address": "0x74" },
-          "rails": [
-            {
-              "id": "vpcie_dcm0_rail",
-              "configuration": {
-                "volts": 0.86,
-                "rule_id": "configure_vpcie_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page0_rule" }
-            }
-          ]
-        },
-
-
-        {
-          "comments": [ "VPCIe DCM 1 / IR35221: Primary PMBus Interface",
-                        "In schematic: bus 11 (1-based), address 0xE8 (8-bit)" ],
-          "id": "vpcie_dcm1_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard",
-          "i2c_interface": { "bus": 10, "address": "0x74" },
-          "presence_detection": { "rule_id": "is_2s_system_rule" },
-          "rails": [
-            {
-              "id": "vpcie_dcm1_rail",
-              "configuration": {
-                "volts": 0.86,
-                "rule_id": "configure_vpcie_rule"
-              },
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page0_rule" }
-            }
-          ]
-        },
-
-
-        {
-          "comments": [ "Flett Slot C8 / IR35221: Primary PMBus Interface",
+                {
+                    "comments": [
+                        "Flett Slot C8 / IR35221: Primary PMBus Interface",
                         "In schematic: bus 7 (1-based) mux channel 3,",
                         "address 0xEC (8-bit).",
-                        "BMC I2C bus alias 28" ],
-          "id": "flett_slot_c8_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard/pcieslot8/pcie_card8",
-          "i2c_interface": { "bus": 28, "address": "0x76" },
-          "presence_detection": { "rule_id": "is_flett_c8_present_rule" },
-          "rails": [
-            {
-              "id": "flett_slot_c8_rail",
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page0_rule" }
-            }
-          ]
-        },
+                        "BMC I2C bus alias 28"
+                    ],
+                    "id": "flett_slot_c8_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard/pcieslot8/pcie_card8",
+                    "i2c_interface": { "bus": 28, "address": "0x76" },
+                    "presence_detection": {
+                        "rule_id": "is_flett_c8_present_rule"
+                    },
+                    "rails": [
+                        {
+                            "id": "flett_slot_c8_rail",
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page0_rule"
+                            }
+                        }
+                    ]
+                },
 
-
-        {
-          "comments": [ "Flett Slot C9 / IR35221: Primary PMBus Interface",
+                {
+                    "comments": [
+                        "Flett Slot C9 / IR35221: Primary PMBus Interface",
                         "In schematic: bus 7 (1-based) mux channel 2,",
                         "address 0xEC (8-bit).",
-                        "BMC I2C bus alias 27" ],
-          "id": "flett_slot_c9_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard/pcieslot9/pcie_card9",
-          "i2c_interface": { "bus": 27, "address": "0x76" },
-          "presence_detection": { "rule_id": "is_flett_c9_present_rule" },
-          "rails": [
-            {
-              "id": "flett_slot_c9_rail",
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page0_rule" }
-            }
-          ]
-        },
+                        "BMC I2C bus alias 27"
+                    ],
+                    "id": "flett_slot_c9_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard/pcieslot9/pcie_card9",
+                    "i2c_interface": { "bus": 27, "address": "0x76" },
+                    "presence_detection": {
+                        "rule_id": "is_flett_c9_present_rule"
+                    },
+                    "rails": [
+                        {
+                            "id": "flett_slot_c9_rail",
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page0_rule"
+                            }
+                        }
+                    ]
+                },
 
-
-        {
-          "comments": [ "Flett Slot C11 / IR35221: Primary PMBus Interface",
+                {
+                    "comments": [
+                        "Flett Slot C11 / IR35221: Primary PMBus Interface",
                         "In schematic: bus 12 (1-based) mux channel 1,",
                         "address 0xEC (8-bit).",
-                        "BMC I2C bus alias 30" ],
-          "id": "flett_slot_c11_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard/pcieslot11/pcie_card11",
-          "i2c_interface": { "bus": 30, "address": "0x76" },
-          "presence_detection": { "rule_id": "is_flett_c11_present_rule" },
-          "rails": [
-            {
-              "id": "flett_slot_c11_rail",
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page0_rule" }
-            }
-          ]
-        },
+                        "BMC I2C bus alias 30"
+                    ],
+                    "id": "flett_slot_c11_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard/pcieslot11/pcie_card11",
+                    "i2c_interface": { "bus": 30, "address": "0x76" },
+                    "presence_detection": {
+                        "rule_id": "is_flett_c11_present_rule"
+                    },
+                    "rails": [
+                        {
+                            "id": "flett_slot_c11_rail",
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page0_rule"
+                            }
+                        }
+                    ]
+                },
 
-
-        {
-          "comments": [ "Flett Slot C10 / IR35221: Primary PMBus Interface",
+                {
+                    "comments": [
+                        "Flett Slot C10 / IR35221: Primary PMBus Interface",
                         "In schematic: bus 12 (1-based) mux channel 0,",
                         "address 0xEC (8-bit).",
-                        "BMC I2C bus alias 29" ],
-          "id": "flett_slot_c10_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard/pcieslot10/pcie_card10",
-          "i2c_interface": { "bus": 29, "address": "0x76" },
-          "presence_detection": { "rule_id": "is_flett_c10_present_rule" },
-          "rails": [
-            {
-              "id": "flett_slot_c10_rail",
-              "sensor_monitoring": { "rule_id": "read_sensors_ir35221_page0_rule" }
-            }
-          ]
+                        "BMC I2C bus alias 29"
+                    ],
+                    "id": "flett_slot_c10_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard/pcieslot10/pcie_card10",
+                    "i2c_interface": { "bus": 29, "address": "0x76" },
+                    "presence_detection": {
+                        "rule_id": "is_flett_c10_present_rule"
+                    },
+                    "rails": [
+                        {
+                            "id": "flett_slot_c10_rail",
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_ir35221_page0_rule"
+                            }
+                        }
+                    ]
+                }
+            ]
         }
-      ]
-    }
-  ]
+    ]
 }
-
diff --git a/phosphor-regulators/docs/config_file/README.md b/phosphor-regulators/docs/config_file/README.md
index 1ccc955..9dee108 100644
--- a/phosphor-regulators/docs/config_file/README.md
+++ b/phosphor-regulators/docs/config_file/README.md
@@ -1,148 +1,148 @@
 # phosphor-regulators Configuration File
 
 ## Table of Contents
-* [Overview](#overview)
-* [Data Format](#data-format)
-* [Example](#example)
-* [Name](#name)
-* [Contents](#contents)
-* [Validation](#validation)
-* [Installation](#installation)
-* [Loading and Reloading](#loading-and-reloading)
-* [Testing](#testing)
 
+- [Overview](#overview)
+- [Data Format](#data-format)
+- [Example](#example)
+- [Name](#name)
+- [Contents](#contents)
+- [Validation](#validation)
+- [Installation](#installation)
+- [Loading and Reloading](#loading-and-reloading)
+- [Testing](#testing)
 
 ## Overview
 
 The `phosphor-regulators` application is controlled by a configuration file
-(config file).  The config file defines how to perform the following operations
+(config file). The config file defines how to perform the following operations
 on voltage regulators in the system:
-* Modify regulator configuration, such as output voltage or overcurrent
-  settings
-* Read sensor values
-* Detect redundant phase faults (if necessary)
+
+- Modify regulator configuration, such as output voltage or overcurrent settings
+- Read sensor values
+- Detect redundant phase faults (if necessary)
 
 The config file does not control how voltage regulators are enabled or how to
-monitor their Power Good (pgood) status.  Those operations are typically
+monitor their Power Good (pgood) status. Those operations are typically
 performed by power sequencer hardware and related firmware.
 
-
 ## Data Format
 
-The config file is written using the [JSON (JavaScript Object
-Notation)](https://www.json.org/) data format.
+The config file is written using the
+[JSON (JavaScript Object Notation)](https://www.json.org/) data format.
 
 The config file can be created using any text editor, such as Atom, Notepad++,
 gedit, Vim, or Emacs.
 
-
 ## Example
 
 See [config.json](../../examples/config.json).
 
-
 ## Name
 
 There are two options for naming the config file:
-* [Default Name](#default-name)
-* [Name Based on System Type](#name-based-on-system-type)
+
+- [Default Name](#default-name)
+- [Name Based on System Type](#name-based-on-system-type)
 
 ### Default Name
 
-The default config file name is `config.json`.  The default name can be used if
-the BMC firmware image only supports one system type.  It can also be used if
-the firmware image supports multiple system types that share a common config
-file.
+The default config file name is `config.json`. The default name can be used if
+the BMC firmware image only supports one system type. It can also be used if the
+firmware image supports multiple system types that share a common config file.
 
 ### Name Based on System Type
 
 The config file name can be based on the system type, such as
-`ibm_rainier.json`.  This is required if the BMC firmware image supports
-multiple system types, and those system types do not share a common config
-file.
+`ibm_rainier.json`. This is required if the BMC firmware image supports multiple
+system types, and those system types do not share a common config file.
 
 The system type is obtained from the `IBMCompatibleSystem` D-Bus interface that
 is provided by the [Entity Manager](https://github.com/openbmc/entity-manager)
-application.  The `Names` property of this interface contains a list of one or
+application. The `Names` property of this interface contains a list of one or
 more compatible system types, ordered from most specific to most general.
 
 Example:
-* `ibm,rainier-2u`
-* `ibm,rainier`
+
+- `ibm,rainier-2u`
+- `ibm,rainier`
 
 The `phosphor-regulators` application converts each system type into a
 corresponding config file name:
-* Replaces spaces and commas with underscores
-* Adds a ".json" suffix
+
+- Replaces spaces and commas with underscores
+- Adds a ".json" suffix
 
 Example:
-* `ibm,rainier -> ibm_rainier.json`
+
+- `ibm,rainier -> ibm_rainier.json`
 
 `phosphor-regulators` searches for a config file with one of these file names,
-from most specific to most general.  If a config file is not found, it searches
+from most specific to most general. If a config file is not found, it searches
 for a file with the [default name](#default-name).
 
-
 ## Contents
 
 ### Structure
 
 The config file typically contains the following structure:
-* Array of [rules](rule.md)
-  * Rules defining how to modify configuration of regulators
-  * Rules defining how to read sensors
-  * Rules defining how to detect redundant phase faults (if necessary)
-* Array of [chassis](chassis.md) in the system
-  * Array of regulator [devices](device.md) in the chassis
-    * Array of voltage [rails](rail.md) produced by the regulator
 
-Rules provide common, reusable sequences of actions that can be shared by one
-or more regulators.  They are optional and can be omitted if each regulator
-requires a unique sequence of actions.
+- Array of [rules](rule.md)
+  - Rules defining how to modify configuration of regulators
+  - Rules defining how to read sensors
+  - Rules defining how to detect redundant phase faults (if necessary)
+- Array of [chassis](chassis.md) in the system
+  - Array of regulator [devices](device.md) in the chassis
+    - Array of voltage [rails](rail.md) produced by the regulator
+
+Rules provide common, reusable sequences of actions that can be shared by one or
+more regulators. They are optional and can be omitted if each regulator requires
+a unique sequence of actions.
 
 ### Syntax
 
 The config file contains a single JSON [config_file](config_file.md) object at
-the root level.  That object contains arrays of other JSON objects.
+the root level. That object contains arrays of other JSON objects.
 
 The following JSON object types are supported:
-* [action](action.md)
-* [and](and.md)
-* [chassis](chassis.md)
-* [compare_presence](compare_presence.md)
-* [compare_vpd](compare_vpd.md)
-* [config_file](config_file.md)
-* [configuration](configuration.md)
-* [device](device.md)
-* [i2c_capture_bytes](i2c_capture_bytes.md)
-* [i2c_compare_bit](i2c_compare_bit.md)
-* [i2c_compare_byte](i2c_compare_byte.md)
-* [i2c_compare_bytes](i2c_compare_bytes.md)
-* [i2c_interface](i2c_interface.md)
-* [i2c_write_bit](i2c_write_bit.md)
-* [i2c_write_byte](i2c_write_byte.md)
-* [i2c_write_bytes](i2c_write_bytes.md)
-* [if](if.md)
-* [log_phase_fault](log_phase_fault.md)
-* [not](not.md)
-* [or](or.md)
-* [phase_fault_detection](phase_fault_detection.md)
-* [pmbus_read_sensor](pmbus_read_sensor.md)
-* [pmbus_write_vout_command](pmbus_write_vout_command.md)
-* [presence_detection](presence_detection.md)
-* [rail](rail.md)
-* [rule](rule.md)
-* [run_rule](run_rule.md)
-* [sensor_monitoring](sensor_monitoring.md)
-* [set_device](set_device.md)
+
+- [action](action.md)
+- [and](and.md)
+- [chassis](chassis.md)
+- [compare_presence](compare_presence.md)
+- [compare_vpd](compare_vpd.md)
+- [config_file](config_file.md)
+- [configuration](configuration.md)
+- [device](device.md)
+- [i2c_capture_bytes](i2c_capture_bytes.md)
+- [i2c_compare_bit](i2c_compare_bit.md)
+- [i2c_compare_byte](i2c_compare_byte.md)
+- [i2c_compare_bytes](i2c_compare_bytes.md)
+- [i2c_interface](i2c_interface.md)
+- [i2c_write_bit](i2c_write_bit.md)
+- [i2c_write_byte](i2c_write_byte.md)
+- [i2c_write_bytes](i2c_write_bytes.md)
+- [if](if.md)
+- [log_phase_fault](log_phase_fault.md)
+- [not](not.md)
+- [or](or.md)
+- [phase_fault_detection](phase_fault_detection.md)
+- [pmbus_read_sensor](pmbus_read_sensor.md)
+- [pmbus_write_vout_command](pmbus_write_vout_command.md)
+- [presence_detection](presence_detection.md)
+- [rail](rail.md)
+- [rule](rule.md)
+- [run_rule](run_rule.md)
+- [sensor_monitoring](sensor_monitoring.md)
+- [set_device](set_device.md)
 
 ### Comments
 
-The JSON data format does not support comments.  However, many of the JSON
-objects in the config file provide an optional "comments" property.  The value
-of this property is an array of strings.  Use this property to annotate the
-config file.  The "comments" properties are ignored when the config file is
-read by the `phosphor-regulators` application.
+The JSON data format does not support comments. However, many of the JSON
+objects in the config file provide an optional "comments" property. The value of
+this property is an array of strings. Use this property to annotate the config
+file. The "comments" properties are ignored when the config file is read by the
+`phosphor-regulators` application.
 
 Examples:
 
@@ -156,37 +156,40 @@
 
 ### Hexadecimal Values
 
-The JSON number data type does not support the hexadecimal format.  For this
+The JSON number data type does not support the hexadecimal format. For this
 reason, properties with hexadecimal values use the string data type.
 
 Example:
+
 ```
 "address": "0x70"
 ```
 
-
 ## Validation
 
 After creating or modifying a config file, you need to validate it using the
 tool [validate-regulators-config.py](../../tools/validate-regulators-config.py).
 
 The validation tool checks the config file for errors, such as:
-* Invalid JSON syntax (like a missing brace)
-* Unrecognized JSON object or property
-* Duplicate rule or device ID
-* Reference to a rule or device ID that does not exist
-* Infinite loop, such as rule A runs rule B which runs rule A
+
+- Invalid JSON syntax (like a missing brace)
+- Unrecognized JSON object or property
+- Duplicate rule or device ID
+- Reference to a rule or device ID that does not exist
+- Infinite loop, such as rule A runs rule B which runs rule A
 
 The tool requires two input files:
-* config file to validate
-* [config_schema.json](../../schema/config_schema.json)
+
+- config file to validate
+- [config_schema.json](../../schema/config_schema.json)
 
 The tool has the following command line syntax:
+
 ```
 validate-regulators-config.py -c <config file> -s config_schema.json
 ```
-where `<config file>` is the name of the config file to validate.
 
+where `<config file>` is the name of the config file to validate.
 
 ## Installation
 
@@ -194,20 +197,20 @@
 
 `/usr/share/phosphor-regulators`
 
-The standard version of the config file is installed in this read-only
-directory as part of the firmware image install.  This is the config file that
-will normally be used.
+The standard version of the config file is installed in this read-only directory
+as part of the firmware image install. This is the config file that will
+normally be used.
 
 ### Test Directory
 
 `/etc/phosphor-regulators`
 
 A new version of the config file can be tested by copying it into this writable
-directory.  This avoids the need to build and install a new firmware image on
-the BMC.
+directory. This avoids the need to build and install a new firmware image on the
+BMC.
 
-The test directory might not exist on the BMC.  If it is missing, create it
-using the following command:
+The test directory might not exist on the BMC. If it is missing, create it using
+the following command:
 
 `mkdir /etc/phosphor-regulators`
 
@@ -215,6 +218,7 @@
 
 The `phosphor-regulators` application will search the installation directories
 in the following order to find a config file:
+
 1. test directory
 2. standard directory
 
@@ -223,17 +227,16 @@
 When a new firmware image is installed on the BMC, it will update the config
 file in the standard directory.
 
-The test directory will **not** be modified by a firmware update.  If a config
+The test directory will **not** be modified by a firmware update. If a config
 file exists in the test directory, it will continue to override the config file
 in the standard directory.
 
-
 ## Loading and Reloading
 
 The config file is loaded when the `phosphor-regulators` application starts.
 
-To force the application to reload the config file, use the following command
-on the BMC:
+To force the application to reload the config file, use the following command on
+the BMC:
 
 `systemctl kill -s HUP phosphor-regulators.service`
 
@@ -241,30 +244,31 @@
 
 `journalctl -u phosphor-regulators.service | grep Loading`
 
-
 ## Testing
 
 After creating or modifying a config file, you should test it to ensure it
 provides the desired behavior.
 
 Perform the following steps to test the config file:
-* Run the [validation tool](#validation) to ensure the config file contains no
+
+- Run the [validation tool](#validation) to ensure the config file contains no
   errors.
-* Copy the config file into the [test directory](#test-directory) on the BMC.
-* Force the `phosphor-regulators` application to
+- Copy the config file into the [test directory](#test-directory) on the BMC.
+- Force the `phosphor-regulators` application to
   [reload](#loading-and-reloading) its config file, causing it to find and load
   the file in the test directory.
-* Boot the system.  Regulator configuration changes (such as voltage settings)
+- Boot the system. Regulator configuration changes (such as voltage settings)
   are only applied during the boot.
-* View output from the `phosphor-regulators` application to make sure no errors
-  occurred.  Use the command `journalctl -u phosphor-regulators.service`.
+- View output from the `phosphor-regulators` application to make sure no errors
+  occurred. Use the command `journalctl -u phosphor-regulators.service`.
 
 When finished testing, perform the following steps to revert to the standard
 config file:
-* Remove the config file from the test directory.  If this is not done, the
-  test config file will continue to override the standard config file even
-  after a firmware update.
-* Force the `phosphor-regulators` application to reload its config file,
-  causing it to find and load the file in the standard directory.
-* Boot the system, if necessary, to apply the regulator configuration changes
-  in the standard config file.
+
+- Remove the config file from the test directory. If this is not done, the test
+  config file will continue to override the standard config file even after a
+  firmware update.
+- Force the `phosphor-regulators` application to reload its config file, causing
+  it to find and load the file in the standard directory.
+- Boot the system, if necessary, to apply the regulator configuration changes in
+  the standard config file.
diff --git a/phosphor-regulators/docs/config_file/action.md b/phosphor-regulators/docs/config_file/action.md
index 1b827eb..2afa09a 100644
--- a/phosphor-regulators/docs/config_file/action.md
+++ b/phosphor-regulators/docs/config_file/action.md
@@ -1,50 +1,56 @@
 # action
 
 ## Description
+
 Action to execute.
 
 Actions are executed to perform the following regulator operations:
-* [presence_detection](presence_detection.md)
-* [configuration](configuration.md)
-* [sensor_monitoring](sensor_monitoring.md)
-* [phase_fault_detection](phase_fault_detection.md)
 
-Many actions read from or write to a hardware device.  Initially this is the
-[device](device.md) that contains the regulator operation.  However, the device
+- [presence_detection](presence_detection.md)
+- [configuration](configuration.md)
+- [sensor_monitoring](sensor_monitoring.md)
+- [phase_fault_detection](phase_fault_detection.md)
+
+Many actions read from or write to a hardware device. Initially this is the
+[device](device.md) that contains the regulator operation. However, the device
 can be changed using the [set_device](set_device.md) action.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| comments | no | array of strings | One or more comment lines describing this action. |
-| and | see [notes](#notes) | array of actions | Action type [and](and.md). |
-| compare_presence | see [notes](#notes) | [compare_presence](compare_presence.md) | Action type [compare_presence](compare_presence.md). |
-| compare_vpd | see [notes](#notes) | [compare_vpd](compare_vpd.md) | Action type [compare_vpd](compare_vpd.md). |
-| i2c_capture_bytes | see [notes](#notes) | [i2c_capture_bytes](i2c_capture_bytes.md) | Action type [i2c_capture_bytes](i2c_capture_bytes.md). |
-| i2c_compare_bit | see [notes](#notes) | [i2c_compare_bit](i2c_compare_bit.md) | Action type [i2c_compare_bit](i2c_compare_bit.md). |
-| i2c_compare_byte | see [notes](#notes) | [i2c_compare_byte](i2c_compare_byte.md) | Action type [i2c_compare_byte](i2c_compare_byte.md). |
-| i2c_compare_bytes | see [notes](#notes) | [i2c_compare_bytes](i2c_compare_bytes.md) | Action type [i2c_compare_bytes](i2c_compare_bytes.md). |
-| i2c_write_bit | see [notes](#notes) | [i2c_write_bit](i2c_write_bit.md) | Action type [i2c_write_bit](i2c_write_bit.md). |
-| i2c_write_byte | see [notes](#notes) | [i2c_write_byte](i2c_write_byte.md) | Action type [i2c_write_byte](i2c_write_byte.md). |
-| i2c_write_bytes | see [notes](#notes) | [i2c_write_bytes](i2c_write_bytes.md) | Action type [i2c_write_bytes](i2c_write_bytes.md). |
-| if | see [notes](#notes) | [if](if.md) | Action type [if](if.md). |
-| log_phase_fault | see [notes](#notes) | [log_phase_fault](log_phase_fault.md) | Action type [log_phase_fault](log_phase_fault.md). |
-| not | see [notes](#notes) | action | Action type [not](not.md). |
-| or | see [notes](#notes) | array of actions | Action type [or](or.md). |
-| pmbus_read_sensor | see [notes](#notes) | [pmbus_read_sensor](pmbus_read_sensor.md) | Action type [pmbus_read_sensor](pmbus_read_sensor.md). |
+
+| Name                     |      Required       | Type                                                    | Description                                                          |
+| :----------------------- | :-----------------: | :------------------------------------------------------ | :------------------------------------------------------------------- |
+| comments                 |         no          | array of strings                                        | One or more comment lines describing this action.                    |
+| and                      | see [notes](#notes) | array of actions                                        | Action type [and](and.md).                                           |
+| compare_presence         | see [notes](#notes) | [compare_presence](compare_presence.md)                 | Action type [compare_presence](compare_presence.md).                 |
+| compare_vpd              | see [notes](#notes) | [compare_vpd](compare_vpd.md)                           | Action type [compare_vpd](compare_vpd.md).                           |
+| i2c_capture_bytes        | see [notes](#notes) | [i2c_capture_bytes](i2c_capture_bytes.md)               | Action type [i2c_capture_bytes](i2c_capture_bytes.md).               |
+| i2c_compare_bit          | see [notes](#notes) | [i2c_compare_bit](i2c_compare_bit.md)                   | Action type [i2c_compare_bit](i2c_compare_bit.md).                   |
+| i2c_compare_byte         | see [notes](#notes) | [i2c_compare_byte](i2c_compare_byte.md)                 | Action type [i2c_compare_byte](i2c_compare_byte.md).                 |
+| i2c_compare_bytes        | see [notes](#notes) | [i2c_compare_bytes](i2c_compare_bytes.md)               | Action type [i2c_compare_bytes](i2c_compare_bytes.md).               |
+| i2c_write_bit            | see [notes](#notes) | [i2c_write_bit](i2c_write_bit.md)                       | Action type [i2c_write_bit](i2c_write_bit.md).                       |
+| i2c_write_byte           | see [notes](#notes) | [i2c_write_byte](i2c_write_byte.md)                     | Action type [i2c_write_byte](i2c_write_byte.md).                     |
+| i2c_write_bytes          | see [notes](#notes) | [i2c_write_bytes](i2c_write_bytes.md)                   | Action type [i2c_write_bytes](i2c_write_bytes.md).                   |
+| if                       | see [notes](#notes) | [if](if.md)                                             | Action type [if](if.md).                                             |
+| log_phase_fault          | see [notes](#notes) | [log_phase_fault](log_phase_fault.md)                   | Action type [log_phase_fault](log_phase_fault.md).                   |
+| not                      | see [notes](#notes) | action                                                  | Action type [not](not.md).                                           |
+| or                       | see [notes](#notes) | array of actions                                        | Action type [or](or.md).                                             |
+| pmbus_read_sensor        | see [notes](#notes) | [pmbus_read_sensor](pmbus_read_sensor.md)               | Action type [pmbus_read_sensor](pmbus_read_sensor.md).               |
 | pmbus_write_vout_command | see [notes](#notes) | [pmbus_write_vout_command](pmbus_write_vout_command.md) | Action type [pmbus_write_vout_command](pmbus_write_vout_command.md). |
-| run_rule | see [notes](#notes) | string | Action type [run_rule](run_rule.md). |
-| set_device | see [notes](#notes) | string | Action type [set_device](set_device.md). |
+| run_rule                 | see [notes](#notes) | string                                                  | Action type [run_rule](run_rule.md).                                 |
+| set_device               | see [notes](#notes) | string                                                  | Action type [set_device](set_device.md).                             |
 
 ### Notes
-* You must specify exactly one action type property, such as "i2c_write_byte"
-  or "run_rule".
+
+- You must specify exactly one action type property, such as "i2c_write_byte" or
+  "run_rule".
 
 ## Return Value
-When the action completes, it returns a true or false value.  The documentation
+
+When the action completes, it returns a true or false value. The documentation
 for the specified action type describes what value will be returned.
 
 ## Examples
+
 ```
 {
   "comments": [ "Set frequency to 800kHz" ],
diff --git a/phosphor-regulators/docs/config_file/and.md b/phosphor-regulators/docs/config_file/and.md
index f94122f..303a5d6 100644
--- a/phosphor-regulators/docs/config_file/and.md
+++ b/phosphor-regulators/docs/config_file/and.md
@@ -1,20 +1,24 @@
 # and
 
 ## Description
+
 Tests whether **all** of the actions in an array return true.
 
-Note: All actions in the array will be executed even if an action before the
-end returns false.  This ensures that actions with beneficial side-effects are
-always executed, such as a register read that clears latched fault bits.
+Note: All actions in the array will be executed even if an action before the end
+returns false. This ensures that actions with beneficial side-effects are always
+executed, such as a register read that clears latched fault bits.
 
 ## Property Value
+
 Array of two or more [actions](action.md) to execute.
 
 ## Return Value
+
 Returns true if **all** of the actions in the array returned true, otherwise
 returns false.
 
 ## Example
+
 ```
 {
   "comments": [ "Check whether registers 0xA0 and 0xA1 both contain 0x00" ],
diff --git a/phosphor-regulators/docs/config_file/chassis.md b/phosphor-regulators/docs/config_file/chassis.md
index 1fb0aa6..9296649 100644
--- a/phosphor-regulators/docs/config_file/chassis.md
+++ b/phosphor-regulators/docs/config_file/chassis.md
@@ -1,24 +1,27 @@
 # chassis
 
 ## Description
+
 A chassis within the system.
 
-Chassis are large enclosures that can be independently powered off and on by
-the BMC.  Small and mid-sized systems may contain a single chassis.  In a large
+Chassis are large enclosures that can be independently powered off and on by the
+BMC. Small and mid-sized systems may contain a single chassis. In a large
 rack-mounted system, each drawer may correspond to a chassis.
 
 A chassis only needs to be defined in the config file if it contains regulators
 that need to be configured or monitored.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| comments | no | array of strings | One or more comment lines describing this chassis. |
-| number | yes | number | Chassis number within the system.  Chassis numbers start at 1 because chassis 0 represents the entire system. |
-| inventory_path | yes | string | Specify the relative D-Bus inventory path of the chassis.  Full inventory paths begin with the root "/xyz/openbmc_project/inventory".  Specify the relative path below the root, such as "system/chassis". |
-| devices | no | array of [devices](device.md) | One or more devices within the chassis.  The array should contain regulator devices and any related devices required to perform regulator operations. |
+
+| Name           | Required | Type                          | Description                                                                                                                                                                                              |
+| :------------- | :------: | :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| comments       |    no    | array of strings              | One or more comment lines describing this chassis.                                                                                                                                                       |
+| number         |   yes    | number                        | Chassis number within the system. Chassis numbers start at 1 because chassis 0 represents the entire system.                                                                                             |
+| inventory_path |   yes    | string                        | Specify the relative D-Bus inventory path of the chassis. Full inventory paths begin with the root "/xyz/openbmc_project/inventory". Specify the relative path below the root, such as "system/chassis". |
+| devices        |    no    | array of [devices](device.md) | One or more devices within the chassis. The array should contain regulator devices and any related devices required to perform regulator operations.                                                     |
 
 ## Example
+
 ```
 {
   "comments": [ "Chassis number 1 containing CPUs and memory" ],
diff --git a/phosphor-regulators/docs/config_file/compare_presence.md b/phosphor-regulators/docs/config_file/compare_presence.md
index a440b41..42e46f2 100644
--- a/phosphor-regulators/docs/config_file/compare_presence.md
+++ b/phosphor-regulators/docs/config_file/compare_presence.md
@@ -1,24 +1,28 @@
 # compare_presence
 
 ## Description
-Compares a hardware component's presence to an expected value.  The hardware
+
+Compares a hardware component's presence to an expected value. The hardware
 component must be a Field-Replaceable Unit (FRU).
 
 This action can be used for [presence_detection](presence_detection.md) of a
-[device](device.md).  It can also be used in an [if](if.md) condition to
-execute actions based on FRU presence.
+[device](device.md). It can also be used in an [if](if.md) condition to execute
+actions based on FRU presence.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| fru | yes | string | Field-Replaceable Unit.  Specify the relative D-Bus inventory path of the FRU.  Full inventory paths begin with the root "/xyz/openbmc_project/inventory".  Specify the relative path below the root, such as "system/chassis/motherboard/cpu3". |
-| value | yes | boolean (true or false) | Expected presence value. |
+
+| Name  | Required | Type                    | Description                                                                                                                                                                                                                                   |
+| :---- | :------: | :---------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| fru   |   yes    | string                  | Field-Replaceable Unit. Specify the relative D-Bus inventory path of the FRU. Full inventory paths begin with the root "/xyz/openbmc_project/inventory". Specify the relative path below the root, such as "system/chassis/motherboard/cpu3". |
+| value |   yes    | boolean (true or false) | Expected presence value.                                                                                                                                                                                                                      |
 
 ## Return Value
+
 Returns true if the actual presence value equals the expected value, otherwise
 returns false.
 
 ## Example
+
 ```
 {
   "comments": [ "Check if CPU3 is present" ],
diff --git a/phosphor-regulators/docs/config_file/compare_vpd.md b/phosphor-regulators/docs/config_file/compare_vpd.md
index 304bfcf..3c76b46 100644
--- a/phosphor-regulators/docs/config_file/compare_vpd.md
+++ b/phosphor-regulators/docs/config_file/compare_vpd.md
@@ -1,58 +1,67 @@
 # compare_vpd
 
 ## Description
+
 Compares a VPD (Vital Product Data) keyword value to an expected value.
 
-VPD is information that describes a hardware component.  VPD is typically read
-from an EEPROM on a Field-Replaceable Unit (FRU).  For this reason, VPD is also
+VPD is information that describes a hardware component. VPD is typically read
+from an EEPROM on a Field-Replaceable Unit (FRU). For this reason, VPD is also
 called "FRU data".
 
-The phosphor-regulators application obtains VPD keyword values from D-Bus.
-Other BMC applications and drivers are responsible for reading VPD from
-hardware components and publishing it on D-Bus.
+The phosphor-regulators application obtains VPD keyword values from D-Bus. Other
+BMC applications and drivers are responsible for reading VPD from hardware
+components and publishing it on D-Bus.
 
 The following VPD keywords are currently supported:
-* CCIN
-* Manufacturer
-* Model
-* PartNumber
-* HW
+
+- CCIN
+- Manufacturer
+- Model
+- PartNumber
+- HW
 
 This action can be used in an [if](if.md) condition to execute actions based on
-a VPD keyword value.  For example, you could set the output voltage only for
+a VPD keyword value. For example, you could set the output voltage only for
 regulators with a specific Model number.
 
 ### Unavailable keyword values
+
 A keyword value may be unavailable if:
-* The hardware component does not support the keyword.
-* An error occurred while attempting to read VPD from the hardware component.
-* The BMC cannot access the VPD due to the system hardware design, such as not
+
+- The hardware component does not support the keyword.
+- An error occurred while attempting to read VPD from the hardware component.
+- The BMC cannot access the VPD due to the system hardware design, such as not
   being connected to the necessary I2C bus.
 
 If the keyword value is unavailable, it will be treated as having an "empty"
 value:
-* An empty string ("") if the "value" property was specified.
-* An empty array ([]) if the "byte_values" property was specified.
+
+- An empty string ("") if the "value" property was specified.
+- An empty array ([]) if the "byte_values" property was specified.
 
 If the expected value is not "empty", the compare_vpd action will return false
 since the values will not match.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| fru | yes | string | Field-Replaceable Unit (FRU) that contains the VPD.  Specify the relative D-Bus inventory path of the FRU.  Full inventory paths begin with the root "/xyz/openbmc_project/inventory".  Specify the relative path below the root, such as "system/chassis/disk_backplane". |
-| keyword | yes | string | VPD keyword.  Specify one of the following: "CCIN", "Manufacturer", "Model", "PartNumber", "HW". |
-| value | see [notes](#notes) | string | Expected value. |
-| byte\_values | see [notes](#notes) | array of strings | Zero or more expected byte values expressed in hexadecimal.  Each value must be prefixed with 0x and surrounded by double quotes. |
+
+| Name        |      Required       | Type             | Description                                                                                                                                                                                                                                                             |
+| :---------- | :-----------------: | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| fru         |         yes         | string           | Field-Replaceable Unit (FRU) that contains the VPD. Specify the relative D-Bus inventory path of the FRU. Full inventory paths begin with the root "/xyz/openbmc_project/inventory". Specify the relative path below the root, such as "system/chassis/disk_backplane". |
+| keyword     |         yes         | string           | VPD keyword. Specify one of the following: "CCIN", "Manufacturer", "Model", "PartNumber", "HW".                                                                                                                                                                         |
+| value       | see [notes](#notes) | string           | Expected value.                                                                                                                                                                                                                                                         |
+| byte_values | see [notes](#notes) | array of strings | Zero or more expected byte values expressed in hexadecimal. Each value must be prefixed with 0x and surrounded by double quotes.                                                                                                                                        |
 
 ### Notes
-* You must specify either "value" or "byte_values".
+
+- You must specify either "value" or "byte_values".
 
 ## Return Value
+
 Returns true if the keyword value equals the expected value, otherwise returns
 false.
 
 ## Examples
+
 ```
 {
   "comments": [ "Check if disk backplane has CCIN value 2D35" ],
@@ -63,6 +72,7 @@
   }
 }
 ```
+
 ```
 {
   "comments": [ "Check if disk backplane has CCIN value 0x32, 0x44, 0x33, 0x35" ],
diff --git a/phosphor-regulators/docs/config_file/config_file.md b/phosphor-regulators/docs/config_file/config_file.md
index 71a7818..b5643b6 100644
--- a/phosphor-regulators/docs/config_file/config_file.md
+++ b/phosphor-regulators/docs/config_file/config_file.md
@@ -1,16 +1,19 @@
 # config_file
 
 ## Description
+
 The root (outer-most) object in a phosphor-regulators configuration file.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| comments | no | array of strings | One or more comment lines describing this file. |
-| rules | no | array of [rules](rule.md) | One or more rules shared by regulators in this file. |
-| chassis | yes | array of [chassis](chassis.md) | One or more chassis in the system. |
+
+| Name     | Required | Type                           | Description                                          |
+| :------- | :------: | :----------------------------- | :--------------------------------------------------- |
+| comments |    no    | array of strings               | One or more comment lines describing this file.      |
+| rules    |    no    | array of [rules](rule.md)      | One or more rules shared by regulators in this file. |
+| chassis  |   yes    | array of [chassis](chassis.md) | One or more chassis in the system.                   |
 
 ## Example
+
 ```
 {
   "comments": [ "Config file for a FooBar one-chassis system" ],
diff --git a/phosphor-regulators/docs/config_file/configuration.md b/phosphor-regulators/docs/config_file/configuration.md
index f5ca84d..e13234f 100644
--- a/phosphor-regulators/docs/config_file/configuration.md
+++ b/phosphor-regulators/docs/config_file/configuration.md
@@ -1,34 +1,39 @@
 # configuration
 
 ## Description
+
 Configuration changes that should be applied to a device or regulator rail.
 These changes usually override hardware default settings.
 
 The most common configuration change is setting the output voltage for a
-regulator rail.  Other examples include modifying pgood thresholds and
+regulator rail. Other examples include modifying pgood thresholds and
 overcurrent settings.
 
 The configuration changes are applied during the boot before regulators are
 enabled.
 
-The configuration changes are applied by executing one or more actions.  The
+The configuration changes are applied by executing one or more actions. The
 actions can be specified in two ways:
-* Use the "rule_id" property to specify a standard rule to run.
-* Use the "actions" property to specify an array of actions that are unique to
+
+- Use the "rule_id" property to specify a standard rule to run.
+- Use the "actions" property to specify an array of actions that are unique to
   this device.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| comments | no | array of strings | One or more comment lines describing the configuration changes. |
-| volts | no | number | Output voltage expressed as a decimal number.  Applied using the [pmbus_write_vout_command](pmbus_write_vout_command.md) action. |
-| rule_id | see [notes](#notes) | string | Unique ID of the [rule](rule.md) to execute. |
-| actions | see [notes](#notes) | array of [actions](action.md) | One or more actions to execute. |
+
+| Name     |      Required       | Type                          | Description                                                                                                                     |
+| :------- | :-----------------: | :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------ |
+| comments |         no          | array of strings              | One or more comment lines describing the configuration changes.                                                                 |
+| volts    |         no          | number                        | Output voltage expressed as a decimal number. Applied using the [pmbus_write_vout_command](pmbus_write_vout_command.md) action. |
+| rule_id  | see [notes](#notes) | string                        | Unique ID of the [rule](rule.md) to execute.                                                                                    |
+| actions  | see [notes](#notes) | array of [actions](action.md) | One or more actions to execute.                                                                                                 |
 
 ### Notes
-* You must specify either "rule_id" or "actions".
+
+- You must specify either "rule_id" or "actions".
 
 ## Examples
+
 ```
 {
   "comments": [ "Set rail to 1.25V using standard rule" ],
diff --git a/phosphor-regulators/docs/config_file/device.md b/phosphor-regulators/docs/config_file/device.md
index 7f0d642..3db5483 100644
--- a/phosphor-regulators/docs/config_file/device.md
+++ b/phosphor-regulators/docs/config_file/device.md
@@ -1,27 +1,31 @@
 # device
 
 ## Description
+
 A hardware device within the chassis.
 
 The following devices should be defined in the config file:
-* Voltage regulators that require configuration or monitoring.
-* Other devices that are required to configure or monitor regulators.  For
+
+- Voltage regulators that require configuration or monitoring.
+- Other devices that are required to configure or monitor regulators. For
   example, an I/O expander may provide necessary information about a regulator.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| comments | no | array of strings | One or more comment lines describing this device. |
-| id | yes | string | Unique ID for this device.  Can only contain letters (A-Z, a-z), numbers (0-9), and underscore (\_). |
-| is_regulator | yes | boolean (true or false) | Indicates whether this device is a voltage regulator (phase controller). |
-| fru | yes | string | Field-Replaceable Unit (FRU) for this device.  If the device itself is not a FRU, specify the FRU that contains it.  Specify the relative D-Bus inventory path of the FRU.  Full inventory paths begin with the root "/xyz/openbmc_project/inventory".  Specify the relative path below the root, such as "system/chassis/motherboard/regulator2". |
-| i2c_interface | yes | [i2c_interface](i2c_interface.md) | I2C interface to this device. |
-| presence_detection | no | [presence_detection](presence_detection.md) | Specifies how to detect whether this device is present.  If this property is not specified, the device is assumed to always be present. |
-| configuration | no | [configuration](configuration.md) | Specifies configuration changes that should be applied to this device.  These changes usually override hardware default settings.  The configuration changes are applied during the boot before regulators are enabled. |
-| phase_fault_detection | no | [phase_fault_detection](phase_fault_detection.md) | Specifies how to detect and log redundant phase faults in this voltage regulator.  Can only be specified if the "is_regulator" property is true. |
-| rails | no | array of [rails](rail.md) | One or more voltage rails produced by this device.  Can only be specified if the "is_regulator" property is true. |
+
+| Name                  | Required | Type                                              | Description                                                                                                                                                                                                                                                                                                                                    |
+| :-------------------- | :------: | :------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| comments              |    no    | array of strings                                  | One or more comment lines describing this device.                                                                                                                                                                                                                                                                                              |
+| id                    |   yes    | string                                            | Unique ID for this device. Can only contain letters (A-Z, a-z), numbers (0-9), and underscore (\_).                                                                                                                                                                                                                                            |
+| is_regulator          |   yes    | boolean (true or false)                           | Indicates whether this device is a voltage regulator (phase controller).                                                                                                                                                                                                                                                                       |
+| fru                   |   yes    | string                                            | Field-Replaceable Unit (FRU) for this device. If the device itself is not a FRU, specify the FRU that contains it. Specify the relative D-Bus inventory path of the FRU. Full inventory paths begin with the root "/xyz/openbmc_project/inventory". Specify the relative path below the root, such as "system/chassis/motherboard/regulator2". |
+| i2c_interface         |   yes    | [i2c_interface](i2c_interface.md)                 | I2C interface to this device.                                                                                                                                                                                                                                                                                                                  |
+| presence_detection    |    no    | [presence_detection](presence_detection.md)       | Specifies how to detect whether this device is present. If this property is not specified, the device is assumed to always be present.                                                                                                                                                                                                         |
+| configuration         |    no    | [configuration](configuration.md)                 | Specifies configuration changes that should be applied to this device. These changes usually override hardware default settings. The configuration changes are applied during the boot before regulators are enabled.                                                                                                                          |
+| phase_fault_detection |    no    | [phase_fault_detection](phase_fault_detection.md) | Specifies how to detect and log redundant phase faults in this voltage regulator. Can only be specified if the "is_regulator" property is true.                                                                                                                                                                                                |
+| rails                 |    no    | array of [rails](rail.md)                         | One or more voltage rails produced by this device. Can only be specified if the "is_regulator" property is true.                                                                                                                                                                                                                               |
 
 ## Example
+
 ```
 {
   "comments": [ "IR35221 regulator producing the Vdd rail" ],
diff --git a/phosphor-regulators/docs/config_file/i2c_capture_bytes.md b/phosphor-regulators/docs/config_file/i2c_capture_bytes.md
index be15df5..ba50e2f 100644
--- a/phosphor-regulators/docs/config_file/i2c_capture_bytes.md
+++ b/phosphor-regulators/docs/config_file/i2c_capture_bytes.md
@@ -1,36 +1,41 @@
 # i2c_capture_bytes
 
 ## Description
+
 Captures device register bytes to be stored in an error log.
 
-Reads the specified device register and temporarily stores the value.  If a
+Reads the specified device register and temporarily stores the value. If a
 subsequent action (such as [log_phase_fault](log_phase_fault.md)) creates an
 error log, the captured bytes will be stored in the error log.
 
-This action allows you to capture additional data about a hardware error.  The
+This action allows you to capture additional data about a hardware error. The
 action can be used multiple times if you wish to capture data from multiple
 registers or devices before logging the error.
 
-Communicates with the device directly using the [I2C interface](i2c_interface.md).
-All of the bytes will be read in a single I2C operation.
+Communicates with the device directly using the
+[I2C interface](i2c_interface.md). All of the bytes will be read in a single I2C
+operation.
 
-The bytes will be stored in the error log in the same order as they are
-received from the device.  For example, a PMBus device transmits byte values in
+The bytes will be stored in the error log in the same order as they are received
+from the device. For example, a PMBus device transmits byte values in
 little-endian order (least significant byte first).
 
 Note: This action should only be used after a hardware error has been detected
 to avoid unnecessary I2C operations and memory usage.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| register | yes | string | Device register address expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes.  This is the location of the first byte. |
-| count | yes | number | Number of bytes to read from the device register. |
+
+| Name     | Required | Type   | Description                                                                                                                                         |
+| :------- | :------: | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |
+| register |   yes    | string | Device register address expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes. This is the location of the first byte. |
+| count    |   yes    | number | Number of bytes to read from the device register.                                                                                                   |
 
 ## Return Value
+
 true
 
 ## Example
+
 ```
 {
   "comments": [ "Capture 2 bytes from register 0xA0 to store in error log" ],
diff --git a/phosphor-regulators/docs/config_file/i2c_compare_bit.md b/phosphor-regulators/docs/config_file/i2c_compare_bit.md
index ed91317..9f19ebf 100644
--- a/phosphor-regulators/docs/config_file/i2c_compare_bit.md
+++ b/phosphor-regulators/docs/config_file/i2c_compare_bit.md
@@ -1,21 +1,25 @@
 # i2c_compare_bit
 
 ## Description
-Compares a bit in a device register to a value.  Communicates with the device
+
+Compares a bit in a device register to a value. Communicates with the device
 directly using the [I2C interface](i2c_interface.md).
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| register | yes | string | Device register address expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes. |
-| position | yes | number | Bit position value from 0-7.  Bit 0 is the least significant bit. |
-| value | yes | number | Expected bit value: 0 or 1. |
+
+| Name     | Required | Type   | Description                                                                                                 |
+| :------- | :------: | :----- | :---------------------------------------------------------------------------------------------------------- |
+| register |   yes    | string | Device register address expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes. |
+| position |   yes    | number | Bit position value from 0-7. Bit 0 is the least significant bit.                                            |
+| value    |   yes    | number | Expected bit value: 0 or 1.                                                                                 |
 
 ## Return Value
-Returns true if the register bit contained the expected value, otherwise
-returns false.
+
+Returns true if the register bit contained the expected value, otherwise returns
+false.
 
 ## Example
+
 ```
 {
   "comments": [ "Check if bit 3 is on in register 0xA0" ],
diff --git a/phosphor-regulators/docs/config_file/i2c_compare_byte.md b/phosphor-regulators/docs/config_file/i2c_compare_byte.md
index bc43886..cb1c9c3 100644
--- a/phosphor-regulators/docs/config_file/i2c_compare_byte.md
+++ b/phosphor-regulators/docs/config_file/i2c_compare_byte.md
@@ -1,21 +1,25 @@
 # i2c_compare_byte
 
 ## Description
-Compares a device register to a byte value.  Communicates with the device
+
+Compares a device register to a byte value. Communicates with the device
 directly using the [I2C interface](i2c_interface.md).
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| register | yes | string | Device register address expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes. |
-| value | yes | string | Expected byte value expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes. |
-| mask | no | string | Bit mask expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes.  Specifies which bits should be compared within the byte value.  Only the bits with a value of 1 in the mask will be compared. |
+
+| Name     | Required | Type   | Description                                                                                                                                                                                                               |
+| :------- | :------: | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| register |   yes    | string | Device register address expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes.                                                                                                               |
+| value    |   yes    | string | Expected byte value expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes.                                                                                                                   |
+| mask     |    no    | string | Bit mask expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes. Specifies which bits should be compared within the byte value. Only the bits with a value of 1 in the mask will be compared. |
 
 ## Return Value
+
 Returns true if the register contained the expected value, otherwise returns
 false.
 
 ## Examples
+
 ```
 {
   "comments": [ "Check if register 0xA0 contains 0xFF" ],
diff --git a/phosphor-regulators/docs/config_file/i2c_compare_bytes.md b/phosphor-regulators/docs/config_file/i2c_compare_bytes.md
index 62f1b33..c5fb728 100644
--- a/phosphor-regulators/docs/config_file/i2c_compare_bytes.md
+++ b/phosphor-regulators/docs/config_file/i2c_compare_bytes.md
@@ -1,27 +1,31 @@
 # i2c_compare_bytes
 
 ## Description
-Compares device register bytes to an array of expected values.  Communicates
-with the device directly using the [I2C interface](i2c_interface.md).
+
+Compares device register bytes to an array of expected values. Communicates with
+the device directly using the [I2C interface](i2c_interface.md).
 
 All of the bytes will be read in a single I2C operation.
 
 The bytes must be specified in the same order as they will be received from the
-device.  For example, a PMBus device transmits byte values in little-endian
-order (least significant byte first).
+device. For example, a PMBus device transmits byte values in little-endian order
+(least significant byte first).
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| register | yes | string | Device register address expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes.  This is the location of the first byte. |
-| values | yes | array of strings | One or more expected byte values expressed in hexadecimal.  Each value must be prefixed with 0x and surrounded by double quotes. |
-| masks | no | array of strings | One or more bit masks expressed in hexadecimal.  Each mask must be prefixed with 0x and surrounded by double quotes.  The number of bit masks must match the number of expected byte values.  Each mask specifies which bits should be compared within the corresponding byte value.  Only the bits with a value of 1 in the mask will be compared. |
+
+| Name     | Required | Type             | Description                                                                                                                                                                                                                                                                                                                                     |
+| :------- | :------: | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| register |   yes    | string           | Device register address expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes. This is the location of the first byte.                                                                                                                                                                                             |
+| values   |   yes    | array of strings | One or more expected byte values expressed in hexadecimal. Each value must be prefixed with 0x and surrounded by double quotes.                                                                                                                                                                                                                 |
+| masks    |    no    | array of strings | One or more bit masks expressed in hexadecimal. Each mask must be prefixed with 0x and surrounded by double quotes. The number of bit masks must match the number of expected byte values. Each mask specifies which bits should be compared within the corresponding byte value. Only the bits with a value of 1 in the mask will be compared. |
 
 ## Return Value
+
 Returns true if all the register bytes contained the expected values, otherwise
 returns false.
 
 ## Examples
+
 ```
 {
   "comments": [ "Check if register 0xA0 contains 0xFF01.",
diff --git a/phosphor-regulators/docs/config_file/i2c_interface.md b/phosphor-regulators/docs/config_file/i2c_interface.md
index 4f6b3b0..d9f7061 100644
--- a/phosphor-regulators/docs/config_file/i2c_interface.md
+++ b/phosphor-regulators/docs/config_file/i2c_interface.md
@@ -1,21 +1,24 @@
 # i2c_interface
 
 ## Description
+
 I2C interface to a device.
 
-Direct I2C communication to the device will be performed using the [i2c-dev
-API](https://www.kernel.org/doc/Documentation/i2c/dev-interface).
+Direct I2C communication to the device will be performed using the
+[i2c-dev API](https://www.kernel.org/doc/Documentation/i2c/dev-interface).
 
 To avoid race conditions and conflicts, no device driver should be bound to the
 device.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| bus  | yes | number | I2C bus number of the device.  The first bus is 0. |
-| address  | yes | string | 7-bit I2C address of the device expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes. |
+
+| Name    | Required | Type   | Description                                                                                                         |
+| :------ | :------: | :----- | :------------------------------------------------------------------------------------------------------------------ |
+| bus     |   yes    | number | I2C bus number of the device. The first bus is 0.                                                                   |
+| address |   yes    | string | 7-bit I2C address of the device expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes. |
 
 ## Example
+
 ```
 {
   "bus": 1,
diff --git a/phosphor-regulators/docs/config_file/i2c_write_bit.md b/phosphor-regulators/docs/config_file/i2c_write_bit.md
index ae60631..a634886 100644
--- a/phosphor-regulators/docs/config_file/i2c_write_bit.md
+++ b/phosphor-regulators/docs/config_file/i2c_write_bit.md
@@ -1,20 +1,24 @@
 # i2c_write_bit
 
 ## Description
-Writes a bit to a device register.  Communicates with the device directly using
+
+Writes a bit to a device register. Communicates with the device directly using
 the [I2C interface](i2c_interface.md).
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| register | yes | string | Device register address expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes. |
-| position | yes | number | Bit position value from 0-7.  Bit 0 is the least significant bit. |
-| value | yes | number | Value to write: 0 or 1. |
+
+| Name     | Required | Type   | Description                                                                                                 |
+| :------- | :------: | :----- | :---------------------------------------------------------------------------------------------------------- |
+| register |   yes    | string | Device register address expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes. |
+| position |   yes    | number | Bit position value from 0-7. Bit 0 is the least significant bit.                                            |
+| value    |   yes    | number | Value to write: 0 or 1.                                                                                     |
 
 ## Return Value
+
 true
 
 ## Example
+
 ```
 {
   "i2c_write_bit": {
diff --git a/phosphor-regulators/docs/config_file/i2c_write_byte.md b/phosphor-regulators/docs/config_file/i2c_write_byte.md
index 90254cd..0c1ae78 100644
--- a/phosphor-regulators/docs/config_file/i2c_write_byte.md
+++ b/phosphor-regulators/docs/config_file/i2c_write_byte.md
@@ -1,20 +1,24 @@
 # i2c_write_byte
 
 ## Description
-Writes a byte to a device register.  Communicates with the device directly
-using the [I2C interface](i2c_interface.md).
+
+Writes a byte to a device register. Communicates with the device directly using
+the [I2C interface](i2c_interface.md).
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| register | yes | string | Device register address expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes. |
-| value | yes | string | Byte value to write expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes. |
-| mask | no | string | Bit mask expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes.  Specifies which bits to write within the byte value.  Only the bits with a value of 1 in the mask will be written. |
+
+| Name     | Required | Type   | Description                                                                                                                                                                                                    |
+| :------- | :------: | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| register |   yes    | string | Device register address expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes.                                                                                                    |
+| value    |   yes    | string | Byte value to write expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes.                                                                                                        |
+| mask     |    no    | string | Bit mask expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes. Specifies which bits to write within the byte value. Only the bits with a value of 1 in the mask will be written. |
 
 ## Return Value
+
 true
 
 ## Example
+
 ```
 {
   "i2c_write_byte": {
diff --git a/phosphor-regulators/docs/config_file/i2c_write_bytes.md b/phosphor-regulators/docs/config_file/i2c_write_bytes.md
index a6a3cdf..07d4df3 100644
--- a/phosphor-regulators/docs/config_file/i2c_write_bytes.md
+++ b/phosphor-regulators/docs/config_file/i2c_write_bytes.md
@@ -1,26 +1,30 @@
 # i2c_write_bytes
 
 ## Description
-Writes bytes to a device register.  Communicates with the device directly using
+
+Writes bytes to a device register. Communicates with the device directly using
 the [I2C interface](i2c_interface.md).
 
 All of the bytes will be written in a single I2C operation.
 
-The bytes must be specified in the order required by the device.  For example,
-a PMBus device requires byte values to be written in little-endian order (least
+The bytes must be specified in the order required by the device. For example, a
+PMBus device requires byte values to be written in little-endian order (least
 significant byte first).
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| register | yes | string | Device register address expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes.  This is the location of the first byte. |
-| values | yes | array of strings | One or more byte values to write expressed in hexadecimal.  Each value must be prefixed with 0x and surrounded by double quotes. |
-| masks | no | array of strings | One or more bit masks expressed in hexadecimal.  Each mask must be prefixed with 0x and surrounded by double quotes.  The number of bit masks must match the number of byte values to write.  Each mask specifies which bits to write within the corresponding byte value.  Only the bits with a value of 1 in the mask will be written. |
+
+| Name     | Required | Type             | Description                                                                                                                                                                                                                                                                                                                          |
+| :------- | :------: | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| register |   yes    | string           | Device register address expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes. This is the location of the first byte.                                                                                                                                                                                  |
+| values   |   yes    | array of strings | One or more byte values to write expressed in hexadecimal. Each value must be prefixed with 0x and surrounded by double quotes.                                                                                                                                                                                                      |
+| masks    |    no    | array of strings | One or more bit masks expressed in hexadecimal. Each mask must be prefixed with 0x and surrounded by double quotes. The number of bit masks must match the number of byte values to write. Each mask specifies which bits to write within the corresponding byte value. Only the bits with a value of 1 in the mask will be written. |
 
 ## Return Value
+
 true
 
 ## Examples
+
 ```
 {
   "comments": [ "Write 0xFF01 to register 0xA0.  Device requires bytes to be",
diff --git a/phosphor-regulators/docs/config_file/if.md b/phosphor-regulators/docs/config_file/if.md
index 451e314..ff9e134 100644
--- a/phosphor-regulators/docs/config_file/if.md
+++ b/phosphor-regulators/docs/config_file/if.md
@@ -1,10 +1,11 @@
 # if
 
 ## Description
+
 Performs actions based on whether a condition is true.
 
-The "condition" property specifies an action to execute.  The condition is true
-if the action returns true.  Otherwise the condition is false.
+The "condition" property specifies an action to execute. The condition is true
+if the action returns true. Otherwise the condition is false.
 
 If the condition is true, the actions within the "then" property are executed.
 
@@ -12,13 +13,15 @@
 (if specified).
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| condition | yes | [action](action.md) | Action that tests whether condition is true. |
-| then | yes | array of [actions](action.md) | One or more actions to perform if condition is true. |
-| else | no | array of [actions](action.md) | One or more actions to perform if condition is false. |
+
+| Name      | Required | Type                          | Description                                           |
+| :-------- | :------: | :---------------------------- | :---------------------------------------------------- |
+| condition |   yes    | [action](action.md)           | Action that tests whether condition is true.          |
+| then      |   yes    | array of [actions](action.md) | One or more actions to perform if condition is true.  |
+| else      |    no    | array of [actions](action.md) | One or more actions to perform if condition is false. |
 
 ## Return Value
+
 If the condition was true, returns the value of the last action in the "then"
 property.
 
@@ -26,6 +29,7 @@
 property. If no "else" property was specified, returns false.
 
 ## Example
+
 ```
 {
   "comments": [ "If regulator is downlevel use different configuration rule" ],
diff --git a/phosphor-regulators/docs/config_file/log_phase_fault.md b/phosphor-regulators/docs/config_file/log_phase_fault.md
index 7af0483..beff006 100644
--- a/phosphor-regulators/docs/config_file/log_phase_fault.md
+++ b/phosphor-regulators/docs/config_file/log_phase_fault.md
@@ -1,38 +1,43 @@
 # log_phase_fault
 
 ## Description
-Logs a redundant phase fault error for a voltage regulator.  This action should
+
+Logs a redundant phase fault error for a voltage regulator. This action should
 be executed if a fault is detected during
 [phase_fault_detection](phase_fault_detection.md) for the regulator.
 
 A regulator may contain one or more redundant phases:
-* An "N+2" regulator has two redundant phases
-* An "N+1" regulator has one redundant phase
 
-A phase fault occurs when a phase stops functioning properly.  The redundancy
+- An "N+2" regulator has two redundant phases
+- An "N+1" regulator has one redundant phase
+
+A phase fault occurs when a phase stops functioning properly. The redundancy
 level of the regulator is reduced.
 
 The phase fault type indicates the level of redundancy remaining **after** the
 fault has occurred:
 
-| Type | Description |
-| :--- | :---------- |
-| n+1 | An "N+2" regulator has lost one redundant phase.  The regulator is now at redundancy level "N+1". |
-| n | Regulator has lost all redundant phases.  The regulator is now at redundancy level N. |
+| Type | Description                                                                                      |
+| :--- | :----------------------------------------------------------------------------------------------- |
+| n+1  | An "N+2" regulator has lost one redundant phase. The regulator is now at redundancy level "N+1". |
+| n    | Regulator has lost all redundant phases. The regulator is now at redundancy level N.             |
 
 If additional data about the fault was previously captured using
-[i2c_capture_bytes](i2c_capture_bytes.md), that data will be stored in the
-error log.
+[i2c_capture_bytes](i2c_capture_bytes.md), that data will be stored in the error
+log.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| type | yes | string | Phase fault type.  Specify one of the following: "n+1", "n". |
+
+| Name | Required | Type   | Description                                                 |
+| :--- | :------: | :----- | :---------------------------------------------------------- |
+| type |   yes    | string | Phase fault type. Specify one of the following: "n+1", "n". |
 
 ## Return Value
+
 true
 
 ## Example
+
 ```
 {
   "log_phase_fault": {
diff --git a/phosphor-regulators/docs/config_file/not.md b/phosphor-regulators/docs/config_file/not.md
index 7dc2c4e..73e4694 100644
--- a/phosphor-regulators/docs/config_file/not.md
+++ b/phosphor-regulators/docs/config_file/not.md
@@ -1,16 +1,20 @@
 # not
 
 ## Description
+
 Negates the return value of the specified action.
 
 ## Property Value
+
 [Action](action.md) to execute.
 
 ## Return Value
-Returns true if the action returned false.  Returns false if the action
-returned true.
+
+Returns true if the action returned false. Returns false if the action returned
+true.
 
 ## Example
+
 ```
 {
   "comments": [ "Check if register 0xA0 is not equal to 0xFF" ],
diff --git a/phosphor-regulators/docs/config_file/or.md b/phosphor-regulators/docs/config_file/or.md
index 06530ee..cf7c4f8 100644
--- a/phosphor-regulators/docs/config_file/or.md
+++ b/phosphor-regulators/docs/config_file/or.md
@@ -1,20 +1,24 @@
 # or
 
 ## Description
+
 Tests whether **any** of the actions in an array return true.
 
-Note: All actions in the array will be executed even if an action before the
-end returns true.  This ensures that actions with beneficial side-effects are
-always executed, such as a register read that clears latched fault bits.
+Note: All actions in the array will be executed even if an action before the end
+returns true. This ensures that actions with beneficial side-effects are always
+executed, such as a register read that clears latched fault bits.
 
 ## Property Value
+
 Array of two or more [actions](action.md) to execute.
 
 ## Return Value
+
 Returns true if **any** of the actions in the array returned true, otherwise
 returns false.
 
 ## Example
+
 ```
 {
   "comments": [ "Check whether register 0xA0 or 0xA1 contains 0x00" ],
diff --git a/phosphor-regulators/docs/config_file/phase_fault_detection.md b/phosphor-regulators/docs/config_file/phase_fault_detection.md
index 7e0b2f8..e03c717 100644
--- a/phosphor-regulators/docs/config_file/phase_fault_detection.md
+++ b/phosphor-regulators/docs/config_file/phase_fault_detection.md
@@ -1,59 +1,63 @@
 # phase_fault_detection
 
 ## Description
+
 Specifies how to detect and log redundant phase faults in a voltage regulator.
 
-A voltage regulator is sometimes called a "phase controller" because it
-controls one or more phases that perform the actual voltage regulation.
+A voltage regulator is sometimes called a "phase controller" because it controls
+one or more phases that perform the actual voltage regulation.
 
-A regulator may have redundant phases.  If a redundant phase fails, the
-regulator will continue to provide the desired output voltage.  However, a
-phase fault error should be logged warning the user that the regulator has lost
-redundancy.
+A regulator may have redundant phases. If a redundant phase fails, the regulator
+will continue to provide the desired output voltage. However, a phase fault
+error should be logged warning the user that the regulator has lost redundancy.
 
 The technique used to detect a phase fault varies depending on the regulator
-hardware.  Often a bit is checked in a status register.  The status register
-could exist in the regulator or in a related I/O expander.
+hardware. Often a bit is checked in a status register. The status register could
+exist in the regulator or in a related I/O expander.
 
-Phase fault detection is performed every 15 seconds.  A phase fault must be
+Phase fault detection is performed every 15 seconds. A phase fault must be
 detected two consecutive times (15 seconds apart) before an error is logged.
 This provides "de-glitching" to ignore transient hardware problems.
 
 Phase faults are detected and logged by executing actions:
-* Use the [if](if.md) action to implement the high level behavior "if a fault
-  is detected, then log an error".
-* Detecting the fault
-  * Use a comparison action like [i2c_compare_bit](i2c_compare_bit.md) to
-    detect the fault.  For example, you may need to check a bit in a status
-    register.
-* Logging the error
-  * Use the [i2c_capture_bytes](i2c_capture_bytes.md) action to capture
+
+- Use the [if](if.md) action to implement the high level behavior "if a fault is
+  detected, then log an error".
+- Detecting the fault
+  - Use a comparison action like [i2c_compare_bit](i2c_compare_bit.md) to detect
+    the fault. For example, you may need to check a bit in a status register.
+- Logging the error
+  - Use the [i2c_capture_bytes](i2c_capture_bytes.md) action to capture
     additional data about the fault if necessary.
-  * Use the [log_phase_fault](log_phase_fault.md) action to log a phase fault
-    error.  The error log will include any data previously captured using
+  - Use the [log_phase_fault](log_phase_fault.md) action to log a phase fault
+    error. The error log will include any data previously captured using
     i2c_capture_bytes.
 
 The actions can be specified in two ways:
-* Use the "rule_id" property to specify a standard rule to run.
-* Use the "actions" property to specify an array of actions that are unique to
+
+- Use the "rule_id" property to specify a standard rule to run.
+- Use the "actions" property to specify an array of actions that are unique to
   this regulator.
 
-The default device for the actions is the voltage regulator.  You can specify a
-different device using the "device_id" property.  If you need to access
-multiple devices, use the [set_device](set_device.md) action.
+The default device for the actions is the voltage regulator. You can specify a
+different device using the "device_id" property. If you need to access multiple
+devices, use the [set_device](set_device.md) action.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| comments | no | array of strings | One or more comment lines describing the phase fault detection. |
-| device_id | no | string | Unique ID of the [device](device.md) to access.  If not specified, the default device is the voltage regulator. |
-| rule_id | see [notes](#notes) | string | Unique ID of the [rule](rule.md) to execute. |
-| actions | see [notes](#notes) | array of [actions](action.md) | One or more actions to execute. |
+
+| Name      |      Required       | Type                          | Description                                                                                                    |
+| :-------- | :-----------------: | :---------------------------- | :------------------------------------------------------------------------------------------------------------- |
+| comments  |         no          | array of strings              | One or more comment lines describing the phase fault detection.                                                |
+| device_id |         no          | string                        | Unique ID of the [device](device.md) to access. If not specified, the default device is the voltage regulator. |
+| rule_id   | see [notes](#notes) | string                        | Unique ID of the [rule](rule.md) to execute.                                                                   |
+| actions   | see [notes](#notes) | array of [actions](action.md) | One or more actions to execute.                                                                                |
 
 ### Notes
-* You must specify either "rule_id" or "actions".
+
+- You must specify either "rule_id" or "actions".
 
 ## Examples
+
 ```
 {
   "comments": [ "Detect phase fault using I/O expander" ],
diff --git a/phosphor-regulators/docs/config_file/pmbus_read_sensor.md b/phosphor-regulators/docs/config_file/pmbus_read_sensor.md
index a0f34a1..f593b0a 100644
--- a/phosphor-regulators/docs/config_file/pmbus_read_sensor.md
+++ b/phosphor-regulators/docs/config_file/pmbus_read_sensor.md
@@ -1,105 +1,117 @@
 # pmbus_read_sensor
 
 ## Description
-Reads one sensor for a PMBus regulator rail.  Communicates with the device
+
+Reads one sensor for a PMBus regulator rail. Communicates with the device
 directly using the [I2C interface](i2c_interface.md).
 
 This action should be executed during [sensor_monitoring](sensor_monitoring.md)
 for the rail.
 
 ### Sensor Type
+
 Currently the following sensor types are supported:
 
-| Type | Description |
-| :--- | :---------- |
-| iout | Output current |
-| iout_peak | Highest output current |
-| iout_valley | Lowest output current |
-| pout | Output power |
-| temperature | Temperature |
-| temperature_peak | Highest temperature |
-| vout | Output voltage |
-| vout_peak | Highest output voltage |
-| vout_valley | Lowest output voltage |
+| Type             | Description            |
+| :--------------- | :--------------------- |
+| iout             | Output current         |
+| iout_peak        | Highest output current |
+| iout_valley      | Lowest output current  |
+| pout             | Output power           |
+| temperature      | Temperature            |
+| temperature_peak | Highest temperature    |
+| vout             | Output voltage         |
+| vout_peak        | Highest output voltage |
+| vout_valley      | Lowest output voltage  |
 
 Notes:
-* Some regulators only support a subset of these sensor types.
-* Some of these sensor types are not part of the PMBus specification and must
-  be obtained by reading from manufacturer-specific commands.
+
+- Some regulators only support a subset of these sensor types.
+- Some of these sensor types are not part of the PMBus specification and must be
+  obtained by reading from manufacturer-specific commands.
 
 ### Data Format
+
 Currently the following PMBus data formats are supported:
 
-| Format | Description |
-| :----- | :---------- |
-| linear_11 | Linear data format used for values not related to voltage output, such as output current, input voltage, and temperature.  Two byte value with an 11-bit, two's complement mantissa and a 5-bit, two's complement exponent. |
-| linear_16 | Linear data format used for values related to voltage output.  Two byte (16-bit), unsigned integer that is raised to the power of an exponent.  The exponent is not stored within the two bytes. |
+| Format    | Description                                                                                                                                                                                                                |
+| :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| linear_11 | Linear data format used for values not related to voltage output, such as output current, input voltage, and temperature. Two byte value with an 11-bit, two's complement mantissa and a 5-bit, two's complement exponent. |
+| linear_16 | Linear data format used for values related to voltage output. Two byte (16-bit), unsigned integer that is raised to the power of an exponent. The exponent is not stored within the two bytes.                             |
 
 ### Exponent For "linear_16" Data Format
+
 The "linear_16" data format requires an exponent value.
 
 If the device supports the PMBus VOUT_MODE command, the exponent value can be
 read from the device.
 
 If VOUT_MODE is not supported by the device, the exponent value must be
-specified using the "exponent" property.  The exponent value can normally be
+specified using the "exponent" property. The exponent value can normally be
 found in the device documentation (data sheet).
 
 ### D-Bus Sensor
-A [D-Bus sensor
-object](https://github.com/openbmc/docs/blob/master/architecture/sensor-architecture.md)
-will be created on the BMC to store the sensor value.  This makes the sensor
+
+A
+[D-Bus sensor object](https://github.com/openbmc/docs/blob/master/architecture/sensor-architecture.md)
+will be created on the BMC to store the sensor value. This makes the sensor
 available to external interfaces like Redfish.
 
 D-Bus sensors have an object path with the following format:
+
 ```
 /xyz/openbmc_project/sensors/<namespace>/<sensor_name>
 ```
 
-The D-Bus sensors `<namespace>` is the general category of the sensor.  The
+The D-Bus sensors `<namespace>` is the general category of the sensor. The
 following table shows how the sensor type is mapped to a D-Bus sensors
 `<namespace>`.
 
-| Sensor Type | D-Bus `<namespace>` |
-| :---------------- | :------------- |
-| iout | current |
-| iout_peak | current |
-| iout_valley | current |
-| pout | power |
-| temperature | temperature |
-| temperature_peak | temperature |
-| vout | voltage |
-| vout_peak | voltage |
-| vout_valley | voltage |
+| Sensor Type      | D-Bus `<namespace>` |
+| :--------------- | :------------------ |
+| iout             | current             |
+| iout_peak        | current             |
+| iout_valley      | current             |
+| pout             | power               |
+| temperature      | temperature         |
+| temperature_peak | temperature         |
+| vout             | voltage             |
+| vout_peak        | voltage             |
+| vout_valley      | voltage             |
 
-The D-Bus `<sensor_name>` must be unique across the entire system.  It will be
+The D-Bus `<sensor_name>` must be unique across the entire system. It will be
 set to the following:
+
 ```
 <rail_id>_<sensor_type>
 ```
+
 For example, if sensor monitoring for rail "vdd0" reads a "vout_peak" sensor,
 the resulting D-Bus `<sensor_name>` will be "vdd0_vout_peak".
 
 Peak and valley sensor values are calculated internally by the regulator since
-it can sample values very frequently and catch transient events.  When these
+it can sample values very frequently and catch transient events. When these
 peak/valley values are read over PMBus, the regulator will often clear its
-internal value and start calculating a new peak/valley.  To avoid losing
+internal value and start calculating a new peak/valley. To avoid losing
 information, the D-Bus sensor will contain the highest peak/lowest valley value
-that has been read since the system was powered on.  When the system is powered
+that has been read since the system was powered on. When the system is powered
 off, the D-Bus peak/valley sensor values are cleared.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| type | yes | string | Sensor type.  Specify one of the following: "iout", "iout_peak", "iout_valley", "pout", "temperature", "temperature_peak", "vout", "vout_peak", "vout_valley". |
-| command | yes | string | PMBus command code expressed in hexadecimal.  Must be prefixed with 0x and surrounded by double quotes. |
-| format | yes | string | Data format of the sensor value returned by the device.  Specify one of the following: "linear_11", "linear_16".
-| exponent | no | number | Exponent value for "linear_16" data format.  Can be positive or negative.  If not specified, the exponent value will be read from VOUT_MODE. |
+
+| Name     | Required | Type   | Description                                                                                                                                                   |
+| :------- | :------: | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| type     |   yes    | string | Sensor type. Specify one of the following: "iout", "iout_peak", "iout_valley", "pout", "temperature", "temperature_peak", "vout", "vout_peak", "vout_valley". |
+| command  |   yes    | string | PMBus command code expressed in hexadecimal. Must be prefixed with 0x and surrounded by double quotes.                                                        |
+| format   |   yes    | string | Data format of the sensor value returned by the device. Specify one of the following: "linear_11", "linear_16".                                               |
+| exponent |    no    | number | Exponent value for "linear_16" data format. Can be positive or negative. If not specified, the exponent value will be read from VOUT_MODE.                    |
 
 ## Return Value
+
 true
 
 ## Examples
+
 ```
 {
   "comments": [ "Read output current from READ_IOUT." ],
diff --git a/phosphor-regulators/docs/config_file/pmbus_write_vout_command.md b/phosphor-regulators/docs/config_file/pmbus_write_vout_command.md
index 5aa91c5..4e27314 100644
--- a/phosphor-regulators/docs/config_file/pmbus_write_vout_command.md
+++ b/phosphor-regulators/docs/config_file/pmbus_write_vout_command.md
@@ -1,61 +1,69 @@
 # pmbus_write_vout_command
 
 ## Description
+
 Writes the value of VOUT_COMMAND to set the output voltage of a PMBus regulator
-rail.  Communicates with the device directly using the [I2C
-interface](i2c_interface.md).
+rail. Communicates with the device directly using the
+[I2C interface](i2c_interface.md).
 
 This action should be executed during [configuration](configuration.md) for the
 rail.
 
 ### Data Format
+
 The PMBus specification defines four modes/formats for the value of
 VOUT_COMMAND:
-* Linear
-* VID
-* Direct
-* IEEE Half-Precision Floating Point
 
-Currently only the linear format is supported.  The decimal value of the
-"volts" property is converted into linear format before being written.
+- Linear
+- VID
+- Direct
+- IEEE Half-Precision Floating Point
+
+Currently only the linear format is supported. The decimal value of the "volts"
+property is converted into linear format before being written.
 
 ### Exponent For Linear Data Format
+
 The linear data format requires an exponent value.
 
 If the device supports the PMBus VOUT_MODE command, the exponent value can be
 read from the device.
 
 If VOUT_MODE is not supported by the device, the exponent value must be
-specified using the "exponent" property.  The exponent value can normally be
+specified using the "exponent" property. The exponent value can normally be
 found in the device documentation (data sheet).
 
 ### Write Verification
-If you wish to verify that the specified volts value was successfully written
-to VOUT_COMMAND, specify the "is_verified" property with a value of true.
+
+If you wish to verify that the specified volts value was successfully written to
+VOUT_COMMAND, specify the "is_verified" property with a value of true.
 
 The value of VOUT_COMMAND will be read from the device after it is written to
-ensure that it contains the expected value.  If VOUT_COMMAND contains an
+ensure that it contains the expected value. If VOUT_COMMAND contains an
 unexpected value, an error will be logged and no further configuration will be
 performed for this regulator rail.
 
-To perform verification, the device must return all 16 bits of voltage data
-that were written to VOUT_COMMAND.  The PMBus specification permits a device to
-have less than 16 bit internal data resolution, resulting in some low order
-bits being zero when read back.  However, verification is not supported on
-devices that provide less than 16 bit internal data resolution.
+To perform verification, the device must return all 16 bits of voltage data that
+were written to VOUT_COMMAND. The PMBus specification permits a device to have
+less than 16 bit internal data resolution, resulting in some low order bits
+being zero when read back. However, verification is not supported on devices
+that provide less than 16 bit internal data resolution.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| volts | no | number | Volts value to write, expressed as a decimal number.  If not specified, the "volts" property from the [configuration](configuration.md) will be used. |
-| format | yes | string | Data format of the value written to VOUT_COMMAND.  Currently the only supported format is "linear". |
-| exponent | no | number | Exponent value for linear data format.  Can be positive or negative.  If not specified, the exponent value will be read from VOUT_MODE. |
-| is_verified | no | boolean (true or false) | If true, the updated value of VOUT_COMMAND is verified by reading it from the device.  If false or not specified, the updated value is not verified. |
+
+| Name        | Required | Type                    | Description                                                                                                                                          |
+| :---------- | :------: | :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- |
+| volts       |    no    | number                  | Volts value to write, expressed as a decimal number. If not specified, the "volts" property from the [configuration](configuration.md) will be used. |
+| format      |   yes    | string                  | Data format of the value written to VOUT_COMMAND. Currently the only supported format is "linear".                                                   |
+| exponent    |    no    | number                  | Exponent value for linear data format. Can be positive or negative. If not specified, the exponent value will be read from VOUT_MODE.                |
+| is_verified |    no    | boolean (true or false) | If true, the updated value of VOUT_COMMAND is verified by reading it from the device. If false or not specified, the updated value is not verified.  |
 
 ## Return Value
+
 true
 
 ## Examples
+
 ```
 {
   "comments": [ "Set output voltage.  Get volts value from configuration.",
diff --git a/phosphor-regulators/docs/config_file/presence_detection.md b/phosphor-regulators/docs/config_file/presence_detection.md
index 6397dff..8150ea9 100644
--- a/phosphor-regulators/docs/config_file/presence_detection.md
+++ b/phosphor-regulators/docs/config_file/presence_detection.md
@@ -1,13 +1,15 @@
 # presence_detection
 
 ## Description
+
 Specifies how to detect whether a device is present.
 
-Some devices are only present in certain system configurations.  For example:
-* A regulator is only present when a related processor or memory module is
+Some devices are only present in certain system configurations. For example:
+
+- A regulator is only present when a related processor or memory module is
   present.
-* A system supports multiple storage backplane types, and the device only
-  exists on one of the backplanes.
+- A system supports multiple storage backplane types, and the device only exists
+  on one of the backplanes.
 
 Device presence is detected by executing actions, such as
 [compare_presence](compare_presence.md) and [compare_vpd](compare_vpd.md).
@@ -18,31 +20,35 @@
 actions indicate the device is present.
 
 The actions can be specified in two ways:
-* Use the "rule_id" property to specify a standard rule to run.
-* Use the "actions" property to specify an array of actions that are unique to
+
+- Use the "rule_id" property to specify a standard rule to run.
+- Use the "actions" property to specify an array of actions that are unique to
   this device.
 
 The return value of the rule or the last action in the array indicates whether
-the device is present.  A return value of true means the device is present;
-false means the device is missing.
+the device is present. A return value of true means the device is present; false
+means the device is missing.
 
-Device presence will only be detected once per boot of the system.  Presence
-will be determined prior to the first device operation (such as configuration).
-When the system is re-booted, presence will be re-detected.  As a result,
-presence detection is not supported for devices that can be removed or added
+Device presence will only be detected once per boot of the system. Presence will
+be determined prior to the first device operation (such as configuration). When
+the system is re-booted, presence will be re-detected. As a result, presence
+detection is not supported for devices that can be removed or added
 (hot-plugged) while the system is booted and running.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| comments | no | array of strings | One or more comment lines describing the presence detection. |
-| rule_id | see [notes](#notes) | string | Unique ID of the [rule](rule.md) to execute. |
-| actions | see [notes](#notes) | array of [actions](action.md) | One or more actions to execute. |
+
+| Name     |      Required       | Type                          | Description                                                  |
+| :------- | :-----------------: | :---------------------------- | :----------------------------------------------------------- |
+| comments |         no          | array of strings              | One or more comment lines describing the presence detection. |
+| rule_id  | see [notes](#notes) | string                        | Unique ID of the [rule](rule.md) to execute.                 |
+| actions  | see [notes](#notes) | array of [actions](action.md) | One or more actions to execute.                              |
 
 ### Notes
-* You must specify either "rule_id" or "actions".
+
+- You must specify either "rule_id" or "actions".
 
 ## Examples
+
 ```
 {
   "comments": [ "Regulator is only present on the FooBar backplane" ],
diff --git a/phosphor-regulators/docs/config_file/rail.md b/phosphor-regulators/docs/config_file/rail.md
index 6b8a0b6..393f333 100644
--- a/phosphor-regulators/docs/config_file/rail.md
+++ b/phosphor-regulators/docs/config_file/rail.md
@@ -1,23 +1,26 @@
 # rail
 
 ## Description
+
 A voltage rail produced by a regulator.
 
-Voltage regulators produce one or more rails.  Each rail typically provides a
+Voltage regulators produce one or more rails. Each rail typically provides a
 different output voltage level, such as 1.1V.
 
-On a PMBus regulator with multiple rails, the current rail is selected using
-the PAGE command.  Subsequent PMBus commands are sent to that PAGE/rail.
+On a PMBus regulator with multiple rails, the current rail is selected using the
+PAGE command. Subsequent PMBus commands are sent to that PAGE/rail.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| comments | no | array of strings | One or more comment lines describing this rail. |
-| id | yes | string | Unique ID for this rail.  Can only contain letters (A-Z, a-z), numbers (0-9), and underscore (\_). |
-| configuration | no | [configuration](configuration.md) | Specifies configuration changes that should be applied to this rail.  These changes usually override hardware default settings.  The configuration changes are applied during the boot before regulators are enabled. |
-| sensor_monitoring | no | [sensor_monitoring](sensor_monitoring.md) | Specifies how to read the sensors for this rail. |
+
+| Name              | Required | Type                                      | Description                                                                                                                                                                                                         |
+| :---------------- | :------: | :---------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| comments          |    no    | array of strings                          | One or more comment lines describing this rail.                                                                                                                                                                     |
+| id                |   yes    | string                                    | Unique ID for this rail. Can only contain letters (A-Z, a-z), numbers (0-9), and underscore (\_).                                                                                                                   |
+| configuration     |    no    | [configuration](configuration.md)         | Specifies configuration changes that should be applied to this rail. These changes usually override hardware default settings. The configuration changes are applied during the boot before regulators are enabled. |
+| sensor_monitoring |    no    | [sensor_monitoring](sensor_monitoring.md) | Specifies how to read the sensors for this rail.                                                                                                                                                                    |
 
 ## Example
+
 ```
 {
   "comments": [ "Vdd rail on PAGE 0 of the Vdd/Vio regulator" ],
diff --git a/phosphor-regulators/docs/config_file/rule.md b/phosphor-regulators/docs/config_file/rule.md
index 1349774..872045d 100644
--- a/phosphor-regulators/docs/config_file/rule.md
+++ b/phosphor-regulators/docs/config_file/rule.md
@@ -1,27 +1,32 @@
 # rule
 
 ## Description
-A rule is a sequence of actions that can be shared by multiple regulators in
-the config file.  Rules define a standard way to perform an operation.  Rules
-are used to minimize duplication in the config file.
+
+A rule is a sequence of actions that can be shared by multiple regulators in the
+config file. Rules define a standard way to perform an operation. Rules are used
+to minimize duplication in the config file.
 
 For example, the following action sequences might be sharable using a rule:
-* Actions that set the output voltage of a regulator rail
-* Actions that read all the sensors of a regulator rail
-* Actions that detect down-level hardware using version registers
-* Actions that detect phase faults
+
+- Actions that set the output voltage of a regulator rail
+- Actions that read all the sensors of a regulator rail
+- Actions that detect down-level hardware using version registers
+- Actions that detect phase faults
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| comments | no | array of strings | One or more comment lines describing this rule. |
-| id | yes | string | Unique ID for this rule.  Can only contain letters (A-Z, a-z), numbers (0-9), and underscore (\_). |
-| actions | yes | array of [actions](action.md) | One or more actions to execute. |
+
+| Name     | Required | Type                          | Description                                                                                       |
+| :------- | :------: | :---------------------------- | :------------------------------------------------------------------------------------------------ |
+| comments |    no    | array of strings              | One or more comment lines describing this rule.                                                   |
+| id       |   yes    | string                        | Unique ID for this rule. Can only contain letters (A-Z, a-z), numbers (0-9), and underscore (\_). |
+| actions  |   yes    | array of [actions](action.md) | One or more actions to execute.                                                                   |
 
 ## Return Value
+
 Return value of the last action in the "actions" property.
 
 ## Example
+
 ```
 {
   "comments": [ "Sets output voltage of PAGE 0 of a PMBus regulator" ],
diff --git a/phosphor-regulators/docs/config_file/run_rule.md b/phosphor-regulators/docs/config_file/run_rule.md
index c218e4d..abf4b4c 100644
--- a/phosphor-regulators/docs/config_file/run_rule.md
+++ b/phosphor-regulators/docs/config_file/run_rule.md
@@ -1,18 +1,22 @@
 # run_rule
 
 ## Description
+
 Runs the specified rule.
 
 Note: Make sure that two rules do not run each other recursively (rule "A" runs
 rule "B" which runs rule "A").
 
 ## Property Value
+
 String containing the unique ID of the [rule](rule.md) to run.
 
 ## Return Value
+
 Return value of the rule that was run.
 
 ## Example
+
 ```
 {
   "run_rule": "set_voltage_rule"
diff --git a/phosphor-regulators/docs/config_file/sensor_monitoring.md b/phosphor-regulators/docs/config_file/sensor_monitoring.md
index 4fa18df..075b9f7 100644
--- a/phosphor-regulators/docs/config_file/sensor_monitoring.md
+++ b/phosphor-regulators/docs/config_file/sensor_monitoring.md
@@ -1,33 +1,38 @@
 # sensor_monitoring
 
 ## Description
+
 Defines how to read the sensors for a voltage rail, such as voltage output,
-current output, and temperature.  Sensor values are measured, actual values
+current output, and temperature. Sensor values are measured, actual values
 rather than target values.
 
-Sensors will be read once per second.  The sensor values will be stored on
-D-Bus on the BMC, making them available to external interfaces like Redfish.
+Sensors will be read once per second. The sensor values will be stored on D-Bus
+on the BMC, making them available to external interfaces like Redfish.
 
-The [pmbus_read_sensor](pmbus_read_sensor.md) action is used to read one
-sensor.  To read multiple sensors, multiple "pmbus_read_sensor" actions need to
-be executed.
+The [pmbus_read_sensor](pmbus_read_sensor.md) action is used to read one sensor.
+To read multiple sensors, multiple "pmbus_read_sensor" actions need to be
+executed.
 
 The "pmbus_read_sensor" actions can be specified in two ways:
-* Use the "rule_id" property to specify a standard rule to run.
-* Use the "actions" property to specify an array of actions that are unique to
+
+- Use the "rule_id" property to specify a standard rule to run.
+- Use the "actions" property to specify an array of actions that are unique to
   this device.
 
 ## Properties
-| Name | Required | Type | Description |
-| :--- | :------: | :--- | :---------- |
-| comments | no | array of strings | One or more comment lines describing the sensor monitoring. |
-| rule_id | see [notes](#notes) | string | Unique ID of the [rule](rule.md) to execute. |
-| actions | see [notes](#notes) | array of [actions](action.md) | One or more actions to execute. |
+
+| Name     |      Required       | Type                          | Description                                                 |
+| :------- | :-----------------: | :---------------------------- | :---------------------------------------------------------- |
+| comments |         no          | array of strings              | One or more comment lines describing the sensor monitoring. |
+| rule_id  | see [notes](#notes) | string                        | Unique ID of the [rule](rule.md) to execute.                |
+| actions  | see [notes](#notes) | array of [actions](action.md) | One or more actions to execute.                             |
 
 ### Notes
-* You must specify either "rule_id" or "actions".
+
+- You must specify either "rule_id" or "actions".
 
 ## Examples
+
 ```
 {
   "comments": [ "Read all sensors supported by the IR35221 regulator" ],
diff --git a/phosphor-regulators/docs/config_file/set_device.md b/phosphor-regulators/docs/config_file/set_device.md
index 984e162..2c63c77 100644
--- a/phosphor-regulators/docs/config_file/set_device.md
+++ b/phosphor-regulators/docs/config_file/set_device.md
@@ -1,24 +1,28 @@
 # set_device
 
 ## Description
+
 Sets the hardware device that will be used by subsequent actions.
 
-Many actions read from or write to a device.  Initially this is the
+Many actions read from or write to a device. Initially this is the
 [device](device.md) that contains the regulator operation being performed, such
 as [configuration](configuration.md) or
 [sensor_monitoring](sensor_monitoring.md).
 
-Use "set_device" if you need to change the hardware device used by actions.
-For example, you need to check a bit in two different I/O expanders to detect a
+Use "set_device" if you need to change the hardware device used by actions. For
+example, you need to check a bit in two different I/O expanders to detect a
 phase fault.
 
 ## Property Value
+
 String containing the unique ID of the [device](device.md).
 
 ## Return Value
+
 true
 
 ## Example
+
 ```
 {
   "set_device": "io_expander2"
diff --git a/phosphor-regulators/docs/design.md b/phosphor-regulators/docs/design.md
index 9f6d38e..6f5c0c4 100644
--- a/phosphor-regulators/docs/design.md
+++ b/phosphor-regulators/docs/design.md
@@ -8,72 +8,68 @@
 See [README.md](../README.md) for an overview of the functionality provided by
 this application.
 
-
 ## Overview
 
-The `phosphor-regulators` application is a single-threaded C++ executable.  It
-is a 'daemon' process that runs continually.  The application is launched by
-systemd when the BMC reaches the Ready state and before the chassis is powered
-on.
+The `phosphor-regulators` application is a single-threaded C++ executable. It is
+a 'daemon' process that runs continually. The application is launched by systemd
+when the BMC reaches the Ready state and before the chassis is powered on.
 
-The application is driven by a system-specific JSON configuration file.  The
-JSON file is found and parsed at runtime.  The parsing process creates a
-collection of C++ objects.  These objects implement the regulator configuration
-and monitoring behavior that was specified in the JSON file.
-
+The application is driven by a system-specific JSON configuration file. The JSON
+file is found and parsed at runtime. The parsing process creates a collection of
+C++ objects. These objects implement the regulator configuration and monitoring
+behavior that was specified in the JSON file.
 
 ## Key Classes
 
-* Manager
-  * Top level class created in `main()`.
-  * Loads the JSON configuration file.
-  * Implements the D-Bus `configure` and `monitor` methods.
-  * Contains a System object.
-* System
-  * Represents the computer system being controlled and monitored by the BMC.
-  * Contains one or more Chassis objects.
-* Chassis
-  * Represents an enclosure that can be independently powered off and on by the
+- Manager
+  - Top level class created in `main()`.
+  - Loads the JSON configuration file.
+  - Implements the D-Bus `configure` and `monitor` methods.
+  - Contains a System object.
+- System
+  - Represents the computer system being controlled and monitored by the BMC.
+  - Contains one or more Chassis objects.
+- Chassis
+  - Represents an enclosure that can be independently powered off and on by the
     BMC.
-  * Small and mid-sized systems may contain a single Chassis.
-  * In a large rack-mounted system, each drawer may correspond to a Chassis.
-  * Contains one or more Device objects.
-* Device
-  * Represents a hardware device, such as a voltage regulator or I/O expander.
-  * Contains zero or more Rail objects.
-* Rail
-  * Represents a voltage rail produced by a voltage regulator, such as 1.1V.
-* Services
-  * Abstract base class that provides access to a collection of system services
+  - Small and mid-sized systems may contain a single Chassis.
+  - In a large rack-mounted system, each drawer may correspond to a Chassis.
+  - Contains one or more Device objects.
+- Device
+  - Represents a hardware device, such as a voltage regulator or I/O expander.
+  - Contains zero or more Rail objects.
+- Rail
+  - Represents a voltage rail produced by a voltage regulator, such as 1.1V.
+- Services
+  - Abstract base class that provides access to a collection of system services
     like error logging, journal, vpd, and hardware presence.
-  * The BMCServices child class provides the real implementation.
-  * The MockServices child class provides a mock implementation that can be
-    used in gtest test cases.
-
+  - The BMCServices child class provides the real implementation.
+  - The MockServices child class provides a mock implementation that can be used
+    in gtest test cases.
 
 ## Regulator Configuration
 
 Regulator configuration occurs early in the system boot before regulators have
 been enabled (turned on).
 
-A systemd service file runs the `regsctl` utility.  This utility invokes the
+A systemd service file runs the `regsctl` utility. This utility invokes the
 D-Bus `configure` method on the `phosphor-regulators` application.
 
-This D-Bus method is implemented by the Manager object.  The Manager object
-calls the C++ `configure()` method on all the objects representing the system
-(System, Chassis, Device, and Rail).
+This D-Bus method is implemented by the Manager object. The Manager object calls
+the C++ `configure()` method on all the objects representing the system (System,
+Chassis, Device, and Rail).
 
 The configuration changes are applied to a Device or Rail by executing one or
 more actions, such as
 [pmbus_write_vout_command](config_file/pmbus_write_vout_command.md).
 
 If an error occurs while executing actions:
-* The error will be logged.
-* Any remaining actions for the current Device/Rail will be skipped.
-* Configuration changes will still be applied to all remaining Device/Rail
-  objects in the system.
-* The system boot will continue.
 
+- The error will be logged.
+- Any remaining actions for the current Device/Rail will be skipped.
+- Configuration changes will still be applied to all remaining Device/Rail
+  objects in the system.
+- The system boot will continue.
 
 ## Regulator Monitoring
 
@@ -82,12 +78,12 @@
 Regulator monitoring is enabled during the system boot after regulators are
 enabled (turned on).
 
-A systemd service file runs the `regsctl` utility.  This utility invokes the
-D-Bus `monitor` method on the `phosphor-regulators` application.  The parameter
+A systemd service file runs the `regsctl` utility. This utility invokes the
+D-Bus `monitor` method on the `phosphor-regulators` application. The parameter
 value `true` is passed to the method.
 
-This D-Bus method is implemented by the Manager object.  The Manager object
-starts a timer.  The timer periodically calls C++ monitoring methods on all the
+This D-Bus method is implemented by the Manager object. The Manager object
+starts a timer. The timer periodically calls C++ monitoring methods on all the
 objects representing the system (System, Chassis, Device, and Rail).
 
 ### Disabling Monitoring
@@ -95,12 +91,12 @@
 Regulator monitoring is disabled at the beginning of system shutdown before
 regulators are disabled (turned off).
 
-A systemd service file runs the `regsctl` utility.  This utility invokes the
-D-Bus `monitor` method on the `phosphor-regulators` application.  The parameter
+A systemd service file runs the `regsctl` utility. This utility invokes the
+D-Bus `monitor` method on the `phosphor-regulators` application. The parameter
 value `false` is passed to the method.
 
-This D-Bus method is implemented by the Manager object.  The Manager object
-stops the timer that was periodically calling C++ monitor methods.
+This D-Bus method is implemented by the Manager object. The Manager object stops
+the timer that was periodically calling C++ monitor methods.
 
 ### Sensor Monitoring
 
@@ -112,59 +108,63 @@
 using [pmbus_read_sensor](config_file/pmbus_read_sensor.md) actions.
 
 The first time a sensor value is read, a corresponding sensor object is created
-on D-Bus.  On subsequent reads, the existing D-Bus sensor object is updated
-with the new sensor value.
+on D-Bus. On subsequent reads, the existing D-Bus sensor object is updated with
+the new sensor value.
 
 The D-Bus sensor object implements the following interfaces:
-* xyz.openbmc_project.Sensor.Value
-* xyz.openbmc_project.State.Decorator.OperationalStatus
-* xyz.openbmc_project.State.Decorator.Availability
-* xyz.openbmc_project.Association.Definitions
 
-An existing D-Bus Sensor object is removed from D-Bus if no corresponding
-sensor values are read during monitoring.  This can occur in the following
-cases:
-* The regulator has been removed from the system (no longer present).
-* The regulator was replaced, and the new regulator supports a different set of
-  sensors values.  For example, temperature_peak is no longer provided.
+- xyz.openbmc_project.Sensor.Value
+- xyz.openbmc_project.State.Decorator.OperationalStatus
+- xyz.openbmc_project.State.Decorator.Availability
+- xyz.openbmc_project.Association.Definitions
+
+An existing D-Bus Sensor object is removed from D-Bus if no corresponding sensor
+values are read during monitoring. This can occur in the following cases:
+
+- The regulator has been removed from the system (no longer present).
+- The regulator was replaced, and the new regulator supports a different set of
+  sensors values. For example, temperature_peak is no longer provided.
 
 If an error occurs while reading the sensors for a Rail:
-* The error will be logged.  If the same error occurs repeatedly on a Rail, it
+
+- The error will be logged. If the same error occurs repeatedly on a Rail, it
   will only be logged once per system boot.
-* Any remaining actions for the Rail will be skipped.
-* The following changes will be made to all D-Bus sensor objects for this Rail:
-  * The Value property will be set to NaN.
-  * The Functional property will be set to false.
-* Sensor monitoring will continue with the next Rail or Device.
-* The sensors for this Rail will be read again during the next monitoring
-  cycle.
+- Any remaining actions for the Rail will be skipped.
+- The following changes will be made to all D-Bus sensor objects for this Rail:
+  - The Value property will be set to NaN.
+  - The Functional property will be set to false.
+- Sensor monitoring will continue with the next Rail or Device.
+- The sensors for this Rail will be read again during the next monitoring cycle.
 
 If a subsequent attempt to read the sensors for the Rail is successful, the
 following changes will be made to the D-Bus sensor objects:
-* The Value property will be set to the new sensor reading.
-* The Functional property will be set to true.
 
-When regulator monitoring is disabled, the following changes will be made to
-all of the D-Bus sensor objects:
-* The Value property will be set to NaN.
-* The Available property will be set to false.
+- The Value property will be set to the new sensor reading.
+- The Functional property will be set to true.
+
+When regulator monitoring is disabled, the following changes will be made to all
+of the D-Bus sensor objects:
+
+- The Value property will be set to NaN.
+- The Available property will be set to false.
 
 ### Phase Fault Monitoring
 
 When regulator monitoring is enabled, phase fault detection is performed every
-15 seconds.  The timer in the Manager object calls the `detectPhaseFaults()`
+15 seconds. The timer in the Manager object calls the `detectPhaseFaults()`
 method on all the objects representing the system (System, Chassis, Device).
 
 A phase fault must be detected two consecutive times (15 seconds apart) before
-an error is logged.  This provides "de-glitching" to ignore transient hardware
+an error is logged. This provides "de-glitching" to ignore transient hardware
 problems.
 
 A phase fault error will only be logged for a regulator once per system boot.
 
 If a different error occurs while detecting phase faults in a regulator:
-* The error will be logged.  If the same error occurs repeatedly on regulator,
-  it will only be logged once per system boot.
-* Any remaining actions for the regulator will be skipped.
-* Phase fault detection will continue with the next regulator.
-* Phase fault detection will be attempted again for this regulator during the
+
+- The error will be logged. If the same error occurs repeatedly on regulator, it
+  will only be logged once per system boot.
+- Any remaining actions for the regulator will be skipped.
+- Phase fault detection will continue with the next regulator.
+- Phase fault detection will be attempted again for this regulator during the
   next monitoring cycle.
diff --git a/phosphor-regulators/examples/config.json b/phosphor-regulators/examples/config.json
index 711fa74..c34ada0 100644
--- a/phosphor-regulators/examples/config.json
+++ b/phosphor-regulators/examples/config.json
@@ -1,107 +1,107 @@
 {
-  "comments": [ "Config file for a FooBar one-chassis system" ],
+    "comments": ["Config file for a FooBar one-chassis system"],
 
-  "rules": [
-    {
-      "comments": [ "Sets output voltage for a PMBus regulator rail" ],
-      "id": "set_voltage_rule",
-      "actions": [
+    "rules": [
         {
-          "pmbus_write_vout_command": {
-            "format": "linear"
-          }
-        }
-      ]
-    },
-
-    {
-      "comments": [ "Reads sensors from a PMBus regulator rail" ],
-      "id": "read_sensors_rule",
-      "actions": [
-        {
-          "comments": [ "Read output voltage from READ_VOUT." ],
-          "pmbus_read_sensor": {
-            "type": "vout",
-            "command": "0x8B",
-            "format": "linear_16"
-          }
+            "comments": ["Sets output voltage for a PMBus regulator rail"],
+            "id": "set_voltage_rule",
+            "actions": [
+                {
+                    "pmbus_write_vout_command": {
+                        "format": "linear"
+                    }
+                }
+            ]
         },
 
         {
-          "comments": [ "Read output current from READ_IOUT." ],
-          "pmbus_read_sensor": {
-            "type": "iout",
-            "command": "0x8C",
-            "format": "linear_11"
-          }
-        },
+            "comments": ["Reads sensors from a PMBus regulator rail"],
+            "id": "read_sensors_rule",
+            "actions": [
+                {
+                    "comments": ["Read output voltage from READ_VOUT."],
+                    "pmbus_read_sensor": {
+                        "type": "vout",
+                        "command": "0x8B",
+                        "format": "linear_16"
+                    }
+                },
 
-        {
-          "comments": [ "Read temperature from READ_TEMPERATURE_1." ],
-          "pmbus_read_sensor": {
-            "type": "temperature",
-            "command": "0x8D",
-            "format": "linear_11"
-          }
+                {
+                    "comments": ["Read output current from READ_IOUT."],
+                    "pmbus_read_sensor": {
+                        "type": "iout",
+                        "command": "0x8C",
+                        "format": "linear_11"
+                    }
+                },
+
+                {
+                    "comments": ["Read temperature from READ_TEMPERATURE_1."],
+                    "pmbus_read_sensor": {
+                        "type": "temperature",
+                        "command": "0x8D",
+                        "format": "linear_11"
+                    }
+                }
+            ]
         }
-      ]
-    }
-  ],
+    ],
 
-  "chassis": [
-    {
-      "comments": [ "Chassis number 1 containing CPUs and memory" ],
-      "number": 1,
-      "inventory_path": "system/chassis",
-      "devices": [
+    "chassis": [
         {
-          "comments": [ "IR35221 regulator producing the Vdd rail" ],
-          "id": "vdd_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard/regulator1",
-          "i2c_interface": {
-            "bus": 1,
-            "address": "0x70"
-          },
-          "rails": [
-            {
-              "comments": [ "Vdd rail" ],
-              "id": "vdd",
-              "configuration": {
-                "volts": 1.03,
-                "rule_id": "set_voltage_rule"
-              },
-              "sensor_monitoring": {
-                "rule_id": "read_sensors_rule"
-              }
-            }
-          ]
-        },
+            "comments": ["Chassis number 1 containing CPUs and memory"],
+            "number": 1,
+            "inventory_path": "system/chassis",
+            "devices": [
+                {
+                    "comments": ["IR35221 regulator producing the Vdd rail"],
+                    "id": "vdd_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard/regulator1",
+                    "i2c_interface": {
+                        "bus": 1,
+                        "address": "0x70"
+                    },
+                    "rails": [
+                        {
+                            "comments": ["Vdd rail"],
+                            "id": "vdd",
+                            "configuration": {
+                                "volts": 1.03,
+                                "rule_id": "set_voltage_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_rule"
+                            }
+                        }
+                    ]
+                },
 
-        {
-          "comments": [ "IR35221 regulator producing the Vio rail" ],
-          "id": "vio_regulator",
-          "is_regulator": true,
-          "fru": "system/chassis/motherboard/regulator2",
-          "i2c_interface": {
-            "bus": 1,
-            "address": "0x71"
-          },
-          "rails": [
-            {
-              "comments": [ "Vio rail" ],
-              "id": "vio",
-              "configuration": {
-                "volts": 1.1,
-                "rule_id": "set_voltage_rule"
-              },
-              "sensor_monitoring": {
-                "rule_id": "read_sensors_rule"
-              }
-            }
-          ]
+                {
+                    "comments": ["IR35221 regulator producing the Vio rail"],
+                    "id": "vio_regulator",
+                    "is_regulator": true,
+                    "fru": "system/chassis/motherboard/regulator2",
+                    "i2c_interface": {
+                        "bus": 1,
+                        "address": "0x71"
+                    },
+                    "rails": [
+                        {
+                            "comments": ["Vio rail"],
+                            "id": "vio",
+                            "configuration": {
+                                "volts": 1.1,
+                                "rule_id": "set_voltage_rule"
+                            },
+                            "sensor_monitoring": {
+                                "rule_id": "read_sensors_rule"
+                            }
+                        }
+                    ]
+                }
+            ]
         }
-      ]
-    }
-  ]
+    ]
 }
diff --git a/phosphor-regulators/schema/config_schema.json b/phosphor-regulators/schema/config_schema.json
index dbfed58..53efee1 100644
--- a/phosphor-regulators/schema/config_schema.json
+++ b/phosphor-regulators/schema/config_schema.json
@@ -4,412 +4,377 @@
     "$id": "https://github.com/openbmc/phosphor-power/tree/master/phosphor-regulators/schema/config_schema.json",
     "description": "This schema describes the JSON format for the phosphor-regulators configuration file.",
     "type": "object",
-    "properties":
-    {
-        "comments": {"$ref": "#/definitions/comments" },
-        "rules": {"$ref": "#/definitions/rules" },
-        "chassis": {"$ref": "#/definitions/chassis" }
+    "properties": {
+        "comments": { "$ref": "#/definitions/comments" },
+        "rules": { "$ref": "#/definitions/rules" },
+        "chassis": { "$ref": "#/definitions/chassis" }
     },
     "required": ["chassis"],
     "additionalProperties": false,
-    "definitions":
-    {
-        "rule":
-        {
+    "definitions": {
+        "rule": {
             "type": "object",
-            "properties":
-            {
-                "comments": {"$ref": "#/definitions/comments" },
-                "id": {"$ref": "#/definitions/id" },
-                "actions": {"$ref": "#/definitions/actions" }
+            "properties": {
+                "comments": { "$ref": "#/definitions/comments" },
+                "id": { "$ref": "#/definitions/id" },
+                "actions": { "$ref": "#/definitions/actions" }
             },
             "required": ["id", "actions"],
             "additionalProperties": false
         },
 
-        "rules":
-        {
+        "rules": {
             "type": "array",
-            "items": {"$ref": "#/definitions/rule" },
+            "items": { "$ref": "#/definitions/rule" },
             "minItems": 1
         },
 
-        "comments":
-        {
+        "comments": {
             "type": "array",
-            "items": {"type": "string" },
+            "items": { "type": "string" },
             "minItems": 1
         },
 
-        "id":
-        {
+        "id": {
             "type": "string",
             "pattern": "^[A-Za-z0-9_]+$"
         },
 
-        "action":
-        {
+        "action": {
             "type": "object",
-            "properties":
-            {
-                "comments": {"$ref": "#/definitions/comments" },
-                "and": {"$ref": "#/definitions/actions" },
-                "compare_presence": {"$ref": "#/definitions/compare_presence" },
-                "compare_vpd": {"$ref": "#/definitions/compare_vpd" },
-                "i2c_capture_bytes": {"$ref": "#/definitions/i2c_capture_bytes" },
-                "i2c_compare_bit": {"$ref": "#/definitions/i2c_bit" },
-                "i2c_compare_byte": {"$ref": "#/definitions/i2c_byte" },
-                "i2c_compare_bytes": {"$ref": "#/definitions/i2c_bytes" },
-                "i2c_write_bit": {"$ref": "#/definitions/i2c_bit" },
-                "i2c_write_byte": {"$ref": "#/definitions/i2c_byte" },
-                "i2c_write_bytes": {"$ref": "#/definitions/i2c_bytes" },
-                "if": {"$ref": "#/definitions/if" },
-                "log_phase_fault": {"$ref": "#/definitions/log_phase_fault" },
-                "not": {"$ref": "#/definitions/action" },
-                "or": {"$ref": "#/definitions/actions" },
-                "pmbus_read_sensor": {"$ref": "#/definitions/pmbus_read_sensor" },
-                "pmbus_write_vout_command": {"$ref": "#/definitions/pmbus_write_vout_command" },
-                "run_rule": {"$ref": "#/definitions/id" },
-                "set_device": {"$ref": "#/definitions/id" }
+            "properties": {
+                "comments": { "$ref": "#/definitions/comments" },
+                "and": { "$ref": "#/definitions/actions" },
+                "compare_presence": {
+                    "$ref": "#/definitions/compare_presence"
+                },
+                "compare_vpd": { "$ref": "#/definitions/compare_vpd" },
+                "i2c_capture_bytes": {
+                    "$ref": "#/definitions/i2c_capture_bytes"
+                },
+                "i2c_compare_bit": { "$ref": "#/definitions/i2c_bit" },
+                "i2c_compare_byte": { "$ref": "#/definitions/i2c_byte" },
+                "i2c_compare_bytes": { "$ref": "#/definitions/i2c_bytes" },
+                "i2c_write_bit": { "$ref": "#/definitions/i2c_bit" },
+                "i2c_write_byte": { "$ref": "#/definitions/i2c_byte" },
+                "i2c_write_bytes": { "$ref": "#/definitions/i2c_bytes" },
+                "if": { "$ref": "#/definitions/if" },
+                "log_phase_fault": { "$ref": "#/definitions/log_phase_fault" },
+                "not": { "$ref": "#/definitions/action" },
+                "or": { "$ref": "#/definitions/actions" },
+                "pmbus_read_sensor": {
+                    "$ref": "#/definitions/pmbus_read_sensor"
+                },
+                "pmbus_write_vout_command": {
+                    "$ref": "#/definitions/pmbus_write_vout_command"
+                },
+                "run_rule": { "$ref": "#/definitions/id" },
+                "set_device": { "$ref": "#/definitions/id" }
             },
             "additionalProperties": false,
             "oneOf": [
-                {"required": ["and"]},
-                {"required": ["compare_presence"]},
-                {"required": ["compare_vpd"]},
-                {"required": ["i2c_capture_bytes"]},
-                {"required": ["i2c_compare_bit"]},
-                {"required": ["i2c_compare_byte"]},
-                {"required": ["i2c_compare_bytes"]},
-                {"required": ["i2c_write_bit"]},
-                {"required": ["i2c_write_byte"]},
-                {"required": ["i2c_write_bytes"]},
-                {"required": ["if"]},
-                {"required": ["log_phase_fault"]},
-                {"required": ["not"]},
-                {"required": ["or"]},
-                {"required": ["pmbus_write_vout_command"]},
-                {"required": ["pmbus_read_sensor"]},
-                {"required": ["run_rule"]},
-                {"required": ["set_device"]}
+                { "required": ["and"] },
+                { "required": ["compare_presence"] },
+                { "required": ["compare_vpd"] },
+                { "required": ["i2c_capture_bytes"] },
+                { "required": ["i2c_compare_bit"] },
+                { "required": ["i2c_compare_byte"] },
+                { "required": ["i2c_compare_bytes"] },
+                { "required": ["i2c_write_bit"] },
+                { "required": ["i2c_write_byte"] },
+                { "required": ["i2c_write_bytes"] },
+                { "required": ["if"] },
+                { "required": ["log_phase_fault"] },
+                { "required": ["not"] },
+                { "required": ["or"] },
+                { "required": ["pmbus_write_vout_command"] },
+                { "required": ["pmbus_read_sensor"] },
+                { "required": ["run_rule"] },
+                { "required": ["set_device"] }
             ]
         },
 
-        "actions":
-        {
+        "actions": {
             "type": "array",
-            "items": {"$ref": "#/definitions/action" },
+            "items": { "$ref": "#/definitions/action" },
             "minItems": 1
         },
 
-        "compare_presence":
-        {
+        "compare_presence": {
             "type": "object",
-            "properties":
-            {
-                "fru": {"$ref": "#/definitions/inventory_path" },
-                "value": {"$ref": "#/definitions/boolean_value" }
+            "properties": {
+                "fru": { "$ref": "#/definitions/inventory_path" },
+                "value": { "$ref": "#/definitions/boolean_value" }
             },
             "required": ["fru", "value"],
             "additionalProperties": false
         },
 
-        "inventory_path":
-        {
+        "inventory_path": {
             "type": "string",
             "minLength": 1
         },
 
-        "boolean_value":
-        {
+        "boolean_value": {
             "type": "boolean"
         },
 
-        "compare_vpd":
-        {
+        "compare_vpd": {
             "type": "object",
-            "properties":
-            {
-                "fru": {"$ref": "#/definitions/inventory_path" },
-                "keyword": {"$ref": "#/definitions/keyword" },
-                "value": {"$ref": "#/definitions/string_value" },
-                "byte_values": {"$ref": "#/definitions/byte_values_min0" }
+            "properties": {
+                "fru": { "$ref": "#/definitions/inventory_path" },
+                "keyword": { "$ref": "#/definitions/keyword" },
+                "value": { "$ref": "#/definitions/string_value" },
+                "byte_values": { "$ref": "#/definitions/byte_values_min0" }
             },
             "required": ["fru", "keyword"],
             "oneOf": [
-                {"required": ["value"]},
-                {"required": ["byte_values"]}
+                { "required": ["value"] },
+                { "required": ["byte_values"] }
             ],
             "additionalProperties": false
         },
 
-        "keyword":
-        {
+        "keyword": {
             "type": "string",
             "enum": ["CCIN", "Manufacturer", "Model", "PartNumber", "HW"]
         },
 
-        "string_value":
-        {
+        "string_value": {
             "type": "string"
         },
 
-        "i2c_capture_bytes":
-        {
+        "i2c_capture_bytes": {
             "type": "object",
-            "properties":
-            {
-                "register": {"$ref": "#/definitions/register" },
-                "count": {"$ref": "#/definitions/byte_count" }
+            "properties": {
+                "register": { "$ref": "#/definitions/register" },
+                "count": { "$ref": "#/definitions/byte_count" }
             },
             "required": ["register", "count"],
             "additionalProperties": false
         },
 
-        "i2c_bit":
-        {
+        "i2c_bit": {
             "type": "object",
-            "properties":
-            {
-                "register": {"$ref": "#/definitions/register" },
-                "position": {"$ref": "#/definitions/position" },
-                "value": {"$ref": "#/definitions/bit_value" }
+            "properties": {
+                "register": { "$ref": "#/definitions/register" },
+                "position": { "$ref": "#/definitions/position" },
+                "value": { "$ref": "#/definitions/bit_value" }
             },
-            "required": ["register", "position","value"],
+            "required": ["register", "position", "value"],
             "additionalProperties": false
         },
 
-        "register":
-        {
+        "register": {
             "type": "string",
             "pattern": "^0x[0-9A-Fa-f]{2}$"
         },
 
-        "position":
-        {
+        "position": {
             "type": "integer",
             "minimum": 0,
             "maximum": 7
         },
 
-        "bit_value":
-        {
+        "bit_value": {
             "type": "integer",
             "minimum": 0,
             "maximum": 1
         },
 
-        "i2c_byte":
-        {
+        "i2c_byte": {
             "type": "object",
-            "properties":
-            {
-                "register": {"$ref": "#/definitions/register" },
-                "value": {"$ref": "#/definitions/byte_value" },
-                "mask": {"$ref": "#/definitions/byte_mask" }
+            "properties": {
+                "register": { "$ref": "#/definitions/register" },
+                "value": { "$ref": "#/definitions/byte_value" },
+                "mask": { "$ref": "#/definitions/byte_mask" }
             },
             "required": ["register", "value"],
             "additionalProperties": false
         },
 
-        "byte_value":
-        {
+        "byte_value": {
             "type": "string",
             "pattern": "^0x[0-9A-Fa-f]{2}$"
         },
 
-        "byte_mask":
-        {
+        "byte_mask": {
             "type": "string",
             "pattern": "^0x[0-9A-Fa-f]{2}$"
         },
 
-        "byte_count":
-        {
+        "byte_count": {
             "type": "integer",
             "minimum": 1
         },
 
-        "i2c_bytes":
-        {
+        "i2c_bytes": {
             "type": "object",
-            "properties":
-            {
-                "register": {"$ref": "#/definitions/register" },
-                "values": {"$ref": "#/definitions/byte_values" },
-                "masks": {"$ref": "#/definitions/byte_masks" }
+            "properties": {
+                "register": { "$ref": "#/definitions/register" },
+                "values": { "$ref": "#/definitions/byte_values" },
+                "masks": { "$ref": "#/definitions/byte_masks" }
             },
             "required": ["register", "values"],
             "additionalProperties": false
         },
 
-        "byte_values":
-        {
+        "byte_values": {
             "type": "array",
-            "items": {"$ref": "#/definitions/byte_value" },
+            "items": { "$ref": "#/definitions/byte_value" },
             "minItems": 1
         },
 
-        "byte_values_min0":
-        {
+        "byte_values_min0": {
             "type": "array",
-            "items": {"$ref": "#/definitions/byte_value" },
+            "items": { "$ref": "#/definitions/byte_value" },
             "minItems": 0
         },
 
-        "byte_masks":
-        {
+        "byte_masks": {
             "type": "array",
-            "items": {"$ref": "#/definitions/byte_mask" },
+            "items": { "$ref": "#/definitions/byte_mask" },
             "minItems": 1
         },
 
-        "if":
-        {
+        "if": {
             "type": "object",
-            "properties":
-            {
-                "condition": {"$ref": "#/definitions/action" },
-                "then": {"$ref": "#/definitions/actions" },
-                "else": {"$ref": "#/definitions/actions" }
+            "properties": {
+                "condition": { "$ref": "#/definitions/action" },
+                "then": { "$ref": "#/definitions/actions" },
+                "else": { "$ref": "#/definitions/actions" }
             },
             "required": ["condition", "then"],
             "additionalProperties": false
         },
 
-        "log_phase_fault":
-        {
+        "log_phase_fault": {
             "type": "object",
-            "properties":
-            {
-                "type": {"$ref": "#/definitions/phase_fault_type" }
+            "properties": {
+                "type": { "$ref": "#/definitions/phase_fault_type" }
             },
             "required": ["type"],
             "additionalProperties": false
         },
 
-        "phase_fault_type":
-        {
+        "phase_fault_type": {
             "type": "string",
             "enum": ["n+1", "n"]
         },
 
-        "pmbus_write_vout_command":
-        {
+        "pmbus_write_vout_command": {
             "type": "object",
-            "properties":
-            {
-                "volts": {"$ref": "#/definitions/volts" },
-                "format": {"$ref": "#/definitions/write_vout_format" },
-                "exponent": {"$ref": "#/definitions/exponent" },
-                "is_verified": {"$ref": "#/definitions/is_verified" }
+            "properties": {
+                "volts": { "$ref": "#/definitions/volts" },
+                "format": { "$ref": "#/definitions/write_vout_format" },
+                "exponent": { "$ref": "#/definitions/exponent" },
+                "is_verified": { "$ref": "#/definitions/is_verified" }
             },
             "required": ["format"],
             "additionalProperties": false
         },
 
-        "volts":
-        {
+        "volts": {
             "type": "number"
         },
 
-        "write_vout_format":
-        {
+        "write_vout_format": {
             "type": "string",
             "enum": ["linear"]
         },
 
-        "exponent":
-        {
+        "exponent": {
             "type": "integer"
         },
 
-        "is_verified":
-        {
+        "is_verified": {
             "type": "boolean"
         },
 
-        "pmbus_read_sensor":
-        {
+        "pmbus_read_sensor": {
             "type": "object",
-            "properties":
-            {
-                "type": {"$ref": "#/definitions/pmbus_read_sensor_type" },
-                "command": {"$ref": "#/definitions/pmbus_read_sensor_command" },
-                "format": {"$ref": "#/definitions/read_sensor_format" },
-                "exponent": {"$ref": "#/definitions/exponent" }
+            "properties": {
+                "type": { "$ref": "#/definitions/pmbus_read_sensor_type" },
+                "command": {
+                    "$ref": "#/definitions/pmbus_read_sensor_command"
+                },
+                "format": { "$ref": "#/definitions/read_sensor_format" },
+                "exponent": { "$ref": "#/definitions/exponent" }
             },
             "required": ["type", "command", "format"],
             "additionalProperties": false
         },
 
-        "pmbus_read_sensor_type":
-        {
+        "pmbus_read_sensor_type": {
             "type": "string",
-            "enum": ["iout", "iout_peak", "iout_valley", "pout", "temperature", "temperature_peak", "vout", "vout_peak", "vout_valley"]
+            "enum": [
+                "iout",
+                "iout_peak",
+                "iout_valley",
+                "pout",
+                "temperature",
+                "temperature_peak",
+                "vout",
+                "vout_peak",
+                "vout_valley"
+            ]
         },
 
-        "pmbus_read_sensor_command":
-        {
+        "pmbus_read_sensor_command": {
             "type": "string",
             "pattern": "^0x[0-9a-fA-F]{2}$"
         },
 
-        "read_sensor_format":
-        {
+        "read_sensor_format": {
             "type": "string",
             "enum": ["linear_11", "linear_16"]
         },
 
-        "chassis_object":
-        {
+        "chassis_object": {
             "type": "object",
-            "properties":
-            {
-                "comments": {"$ref": "#/definitions/comments" },
-                "number": {"$ref": "#/definitions/number" },
-                "inventory_path": {"$ref": "#/definitions/inventory_path" },
-                "devices": {"$ref": "#/definitions/devices" }
+            "properties": {
+                "comments": { "$ref": "#/definitions/comments" },
+                "number": { "$ref": "#/definitions/number" },
+                "inventory_path": { "$ref": "#/definitions/inventory_path" },
+                "devices": { "$ref": "#/definitions/devices" }
             },
             "required": ["number", "inventory_path"],
             "additionalProperties": false
         },
 
-        "chassis":
-        {
+        "chassis": {
             "type": "array",
-            "items": {"$ref": "#/definitions/chassis_object" },
+            "items": { "$ref": "#/definitions/chassis_object" },
             "minItems": 1
         },
 
-        "number":
-        {
+        "number": {
             "type": "integer",
             "minimum": 1
         },
 
-        "device":
-        {
+        "device": {
             "type": "object",
-            "properties":
-            {
-                "comments": {"$ref": "#/definitions/comments" },
-                "id": {"$ref": "#/definitions/id" },
-                "is_regulator": {"$ref": "#/definitions/is_regulator" },
-                "fru": {"$ref": "#/definitions/inventory_path" },
-                "i2c_interface": {"$ref": "#/definitions/i2c_interface" },
-                "presence_detection": {"$ref": "#/definitions/presence_detection" },
-                "configuration": {"$ref": "#/definitions/configuration" },
-                "phase_fault_detection": {"$ref": "#/definitions/phase_fault_detection" },
-                "rails": {"$ref": "#/definitions/rails" }
+            "properties": {
+                "comments": { "$ref": "#/definitions/comments" },
+                "id": { "$ref": "#/definitions/id" },
+                "is_regulator": { "$ref": "#/definitions/is_regulator" },
+                "fru": { "$ref": "#/definitions/inventory_path" },
+                "i2c_interface": { "$ref": "#/definitions/i2c_interface" },
+                "presence_detection": {
+                    "$ref": "#/definitions/presence_detection"
+                },
+                "configuration": { "$ref": "#/definitions/configuration" },
+                "phase_fault_detection": {
+                    "$ref": "#/definitions/phase_fault_detection"
+                },
+                "rails": { "$ref": "#/definitions/rails" }
             },
             "required": ["id", "is_regulator", "fru", "i2c_interface"],
-            "if":
-            {
+            "if": {
                 "properties": { "is_regulator": { "const": false } }
             },
-            "then":
-            {
+            "then": {
                 "not": {
                     "anyOf": [
                         { "required": ["phase_fault_detection"] },
@@ -420,127 +385,100 @@
             "additionalProperties": false
         },
 
-        "devices":
-        {
+        "devices": {
             "type": "array",
-            "items": {"$ref": "#/definitions/device" },
+            "items": { "$ref": "#/definitions/device" },
             "minItems": 1
         },
 
-        "is_regulator":
-        {
+        "is_regulator": {
             "type": "boolean"
         },
 
-        "i2c_interface":
-        {
+        "i2c_interface": {
             "type": "object",
-            "properties":
-            {
-                "bus": {"$ref": "#/definitions/bus" },
-                "address": {"$ref": "#/definitions/address" }
+            "properties": {
+                "bus": { "$ref": "#/definitions/bus" },
+                "address": { "$ref": "#/definitions/address" }
             },
             "required": ["bus", "address"],
             "additionalProperties": false
         },
 
-        "bus":
-        {
+        "bus": {
             "type": "integer",
             "minimum": 0
         },
 
-        "address":
-        {
+        "address": {
             "type": "string",
             "pattern": "^0x[0-9A-Fa-f]{2}$"
         },
 
-        "presence_detection":
-        {
+        "presence_detection": {
             "type": "object",
-            "properties":
-            {
-                "comments": {"$ref": "#/definitions/comments" },
-                "rule_id": {"$ref": "#/definitions/id" },
-                "actions": {"$ref": "#/definitions/actions" }
+            "properties": {
+                "comments": { "$ref": "#/definitions/comments" },
+                "rule_id": { "$ref": "#/definitions/id" },
+                "actions": { "$ref": "#/definitions/actions" }
             },
             "additionalProperties": false,
-            "oneOf": [
-                {"required": ["rule_id"]},
-                {"required": ["actions"]}
-            ]
+            "oneOf": [{ "required": ["rule_id"] }, { "required": ["actions"] }]
         },
 
-        "configuration":
-        {
+        "configuration": {
             "type": "object",
-            "properties":
-            {
-                "comments": {"$ref": "#/definitions/comments" },
-                "volts": {"$ref": "#/definitions/volts" },
-                "rule_id": {"$ref": "#/definitions/id" },
-                "actions": {"$ref": "#/definitions/actions" }
+            "properties": {
+                "comments": { "$ref": "#/definitions/comments" },
+                "volts": { "$ref": "#/definitions/volts" },
+                "rule_id": { "$ref": "#/definitions/id" },
+                "actions": { "$ref": "#/definitions/actions" }
             },
             "additionalProperties": false,
-            "oneOf": [
-                {"required": ["rule_id"]},
-                {"required": ["actions"]}
-            ]
+            "oneOf": [{ "required": ["rule_id"] }, { "required": ["actions"] }]
         },
 
-        "phase_fault_detection":
-        {
+        "phase_fault_detection": {
             "type": "object",
-            "properties":
-            {
-                "comments": {"$ref": "#/definitions/comments" },
-                "device_id": {"$ref": "#/definitions/id" },
-                "rule_id": {"$ref": "#/definitions/id" },
-                "actions": {"$ref": "#/definitions/actions" }
+            "properties": {
+                "comments": { "$ref": "#/definitions/comments" },
+                "device_id": { "$ref": "#/definitions/id" },
+                "rule_id": { "$ref": "#/definitions/id" },
+                "actions": { "$ref": "#/definitions/actions" }
             },
             "additionalProperties": false,
-            "oneOf": [
-                {"required": ["rule_id"]},
-                {"required": ["actions"]}
-            ]
+            "oneOf": [{ "required": ["rule_id"] }, { "required": ["actions"] }]
         },
 
-        "rail":
-        {
+        "rail": {
             "type": "object",
-            "properties":
-            {
-                "comments": {"$ref": "#/definitions/comments" },
-                "id": {"$ref": "#/definitions/id" },
-                "configuration": {"$ref": "#/definitions/configuration" },
-                "sensor_monitoring": {"$ref": "#/definitions/sensor_monitoring" }
+            "properties": {
+                "comments": { "$ref": "#/definitions/comments" },
+                "id": { "$ref": "#/definitions/id" },
+                "configuration": { "$ref": "#/definitions/configuration" },
+                "sensor_monitoring": {
+                    "$ref": "#/definitions/sensor_monitoring"
+                }
             },
             "required": ["id"],
             "additionalProperties": false
         },
 
-        "rails":
-        {
+        "rails": {
             "type": "array",
-            "items": {"$ref": "#/definitions/rail" },
+            "items": { "$ref": "#/definitions/rail" },
             "minItems": 1
         },
 
-        "sensor_monitoring":
-        {
+        "sensor_monitoring": {
             "type": "object",
-            "properties":
-            {
-                "comments": {"$ref": "#/definitions/comments" },
-                "rule_id": {"$ref": "#/definitions/id" },
-                "actions": {"$ref": "#/definitions/actions" }
+            "properties": {
+                "comments": { "$ref": "#/definitions/comments" },
+                "rule_id": { "$ref": "#/definitions/id" },
+                "actions": { "$ref": "#/definitions/actions" }
             },
             "additionalProperties": false,
-            "oneOf": [
-                {"required": ["rule_id"]},
-                {"required": ["actions"]}
-            ]
+            "oneOf": [{ "required": ["rule_id"] }, { "required": ["actions"] }]
         }
     }
 }
