diff --git a/phosphor-regulators/src/chassis.cpp b/phosphor-regulators/src/chassis.cpp
index 29ebb79..ebe446c 100644
--- a/phosphor-regulators/src/chassis.cpp
+++ b/phosphor-regulators/src/chassis.cpp
@@ -43,7 +43,7 @@
     }
 }
 
-void Chassis::configure(System& system)
+void Chassis::configure(Services& services, System& system)
 {
     // Log info message in journal; important for verifying success of boot
     journal::logInfo("Configuring chassis " + std::to_string(number));
@@ -51,7 +51,7 @@
     // Configure devices
     for (std::unique_ptr<Device>& device : devices)
     {
-        device->configure(system, *this);
+        device->configure(services, system, *this);
     }
 }
 
diff --git a/phosphor-regulators/src/chassis.hpp b/phosphor-regulators/src/chassis.hpp
index 4423926..3addd5e 100644
--- a/phosphor-regulators/src/chassis.hpp
+++ b/phosphor-regulators/src/chassis.hpp
@@ -17,6 +17,7 @@
 
 #include "device.hpp"
 #include "id_map.hpp"
+#include "services.hpp"
 
 #include <memory>
 #include <stdexcept>
@@ -95,9 +96,10 @@
      * This method should be called during the boot before regulators are
      * enabled.
      *
+     * @param services system services like error logging and the journal
      * @param system system that contains this chassis
      */
-    void configure(System& system);
+    void configure(Services& services, System& system);
 
     /**
      * Returns the devices within this chassis, if any.
diff --git a/phosphor-regulators/src/configuration.cpp b/phosphor-regulators/src/configuration.cpp
index 99245ca..8edc36c 100644
--- a/phosphor-regulators/src/configuration.cpp
+++ b/phosphor-regulators/src/configuration.cpp
@@ -30,19 +30,21 @@
 namespace phosphor::power::regulators
 {
 
-void Configuration::execute(System& system, Chassis& chassis, Device& device)
+void Configuration::execute(Services& services, System& system,
+                            Chassis& chassis, Device& device)
 {
-    execute(system, chassis, device, device.getID());
+    execute(services, system, chassis, device, device.getID());
 }
 
-void Configuration::execute(System& system, Chassis& chassis, Device& device,
-                            Rail& rail)
+void Configuration::execute(Services& services, System& system,
+                            Chassis& chassis, Device& device, Rail& rail)
 {
-    execute(system, chassis, device, rail.getID());
+    execute(services, system, chassis, device, rail.getID());
 }
 
-void Configuration::execute(System& system, Chassis& /*chassis*/,
-                            Device& device, const std::string& deviceOrRailID)
+void Configuration::execute(Services& /*services*/, System& system,
+                            Chassis& /*chassis*/, Device& device,
+                            const std::string& deviceOrRailID)
 {
     try
     {
diff --git a/phosphor-regulators/src/configuration.hpp b/phosphor-regulators/src/configuration.hpp
index 3534419..f0dd766 100644
--- a/phosphor-regulators/src/configuration.hpp
+++ b/phosphor-regulators/src/configuration.hpp
@@ -16,6 +16,7 @@
 #pragma once
 
 #include "action.hpp"
+#include "services.hpp"
 
 #include <memory>
 #include <optional>
@@ -82,11 +83,13 @@
      * This method should be called during the boot before regulators are
      * enabled.
      *
+     * @param services system services like error logging and the journal
      * @param system system that contains the chassis
      * @param chassis chassis that contains the device
      * @param device device to configure
      */
-    void execute(System& system, Chassis& chassis, Device& device);
+    void execute(Services& services, System& system, Chassis& chassis,
+                 Device& device);
 
     /**
      * Executes the actions to configure the specified rail.
@@ -94,12 +97,14 @@
      * This method should be called during the boot before regulators are
      * enabled.
      *
+     * @param services system services like error logging and the journal
      * @param system system that contains the chassis
      * @param chassis chassis that contains the device
      * @param device device that contains the rail
      * @param rail rail to configure
      */
-    void execute(System& system, Chassis& chassis, Device& device, Rail& rail);
+    void execute(Services& services, System& system, Chassis& chassis,
+                 Device& device, Rail& rail);
 
     /**
      * Returns the actions that configure the device/rail.
@@ -125,13 +130,14 @@
     /**
      * Executes the actions to configure a device or rail.
      *
+     * @param services system services like error logging and the journal
      * @param system system that contains the chassis
      * @param chassis chassis that contains the device
      * @param device device to configure or that contains rail to configure
      * @param deviceOrRailID ID of the device or rail to configure
      */
-    void execute(System& system, Chassis& chassis, Device& device,
-                 const std::string& deviceOrRailID);
+    void execute(Services& services, System& system, Chassis& chassis,
+                 Device& device, const std::string& deviceOrRailID);
 
     /**
      * Optional output voltage value.
diff --git a/phosphor-regulators/src/device.cpp b/phosphor-regulators/src/device.cpp
index fd07d71..f085afe 100644
--- a/phosphor-regulators/src/device.cpp
+++ b/phosphor-regulators/src/device.cpp
@@ -58,18 +58,18 @@
     }
 }
 
-void Device::configure(System& system, Chassis& chassis)
+void Device::configure(Services& services, System& system, Chassis& chassis)
 {
     // If configuration changes are defined for this device, apply them
     if (configuration)
     {
-        configuration->execute(system, chassis, *this);
+        configuration->execute(services, system, chassis, *this);
     }
 
     // Configure rails
     for (std::unique_ptr<Rail>& rail : rails)
     {
-        rail->configure(system, chassis, *this);
+        rail->configure(services, system, chassis, *this);
     }
 }
 
diff --git a/phosphor-regulators/src/device.hpp b/phosphor-regulators/src/device.hpp
index e18f6fa..cb3a3d9 100644
--- a/phosphor-regulators/src/device.hpp
+++ b/phosphor-regulators/src/device.hpp
@@ -20,6 +20,7 @@
 #include "id_map.hpp"
 #include "presence_detection.hpp"
 #include "rail.hpp"
+#include "services.hpp"
 
 #include <memory>
 #include <string>
@@ -104,10 +105,11 @@
      * This method should be called during the boot before regulators are
      * enabled.
      *
+     * @param services system services like error logging and the journal
      * @param system system that contains the chassis
      * @param chassis chassis that contains this device
      */
-    void configure(System& system, Chassis& chassis);
+    void configure(Services& services, System& system, Chassis& chassis);
 
     /**
      * Returns the configuration changes to apply to this device, if any.
diff --git a/phosphor-regulators/src/manager.cpp b/phosphor-regulators/src/manager.cpp
index fd8dd01..bb0e3a8 100644
--- a/phosphor-regulators/src/manager.cpp
+++ b/phosphor-regulators/src/manager.cpp
@@ -84,7 +84,7 @@
     if (system)
     {
         // Configure the regulator devices in the system
-        system->configure();
+        system->configure(services);
     }
     else
     {
diff --git a/phosphor-regulators/src/rail.cpp b/phosphor-regulators/src/rail.cpp
index 7d90e77..3739ef0 100644
--- a/phosphor-regulators/src/rail.cpp
+++ b/phosphor-regulators/src/rail.cpp
@@ -23,12 +23,13 @@
 namespace phosphor::power::regulators
 {
 
-void Rail::configure(System& system, Chassis& chassis, Device& device)
+void Rail::configure(Services& services, System& system, Chassis& chassis,
+                     Device& device)
 {
     // If configuration changes are defined for this rail, apply them
     if (configuration)
     {
-        configuration->execute(system, chassis, device, *this);
+        configuration->execute(services, system, chassis, device, *this);
     }
 }
 
diff --git a/phosphor-regulators/src/rail.hpp b/phosphor-regulators/src/rail.hpp
index 8340d07..9caafbe 100644
--- a/phosphor-regulators/src/rail.hpp
+++ b/phosphor-regulators/src/rail.hpp
@@ -17,6 +17,7 @@
 
 #include "configuration.hpp"
 #include "sensor_monitoring.hpp"
+#include "services.hpp"
 
 #include <memory>
 #include <string>
@@ -74,11 +75,13 @@
      * This method should be called during the boot before regulators are
      * enabled.
      *
+     * @param services system services like error logging and the journal
      * @param system system that contains the chassis
      * @param chassis chassis that contains the device
      * @param device device that contains this rail
      */
-    void configure(System& system, Chassis& chassis, Device& device);
+    void configure(Services& services, System& system, Chassis& chassis,
+                   Device& device);
 
     /**
      * Returns the configuration changes to apply to this rail, if any.
diff --git a/phosphor-regulators/src/system.cpp b/phosphor-regulators/src/system.cpp
index d3b599a..d6be768 100644
--- a/phosphor-regulators/src/system.cpp
+++ b/phosphor-regulators/src/system.cpp
@@ -43,12 +43,12 @@
     }
 }
 
-void System::configure()
+void System::configure(Services& services)
 {
     // Configure devices in each chassis
     for (std::unique_ptr<Chassis>& oneChassis : chassis)
     {
-        oneChassis->configure(*this);
+        oneChassis->configure(services, *this);
     }
 }
 
diff --git a/phosphor-regulators/src/system.hpp b/phosphor-regulators/src/system.hpp
index f678658..3ffeb5b 100644
--- a/phosphor-regulators/src/system.hpp
+++ b/phosphor-regulators/src/system.hpp
@@ -18,6 +18,7 @@
 #include "chassis.hpp"
 #include "id_map.hpp"
 #include "rule.hpp"
+#include "services.hpp"
 
 #include <memory>
 #include <utility>
@@ -69,8 +70,10 @@
      *
      * This method should be called during the boot before regulators are
      * enabled.
+     *
+     * @param services system services like error logging and the journal
      */
-    void configure();
+    void configure(Services& services);
 
     /**
      * Returns the chassis in the system.
