diff --git a/healthd/healthd.h b/healthd/healthd.h
index 18ad03a..895be40 100644
--- a/healthd/healthd.h
+++ b/healthd/healthd.h
@@ -19,25 +19,33 @@
 
 #include <batteryservice/BatteryService.h>
 
+// periodic_chores_interval_fast, periodic_chores_interval_slow: intervals at
+// which healthd wakes up to poll health state and perform periodic chores,
+// in units of seconds:
+//
+//    periodic_chores_interval_fast is used while the device is not in
+//    suspend, or in suspend and connected to a charger (to watch for battery
+//    overheat due to charging).  The default value is 60 (1 minute).  Value
+//    -1 turns off periodic chores (and wakeups) in these conditions.
+//
+//    periodic_chores_interval_slow is used when the device is in suspend and
+//    not connected to a charger (to watch for a battery drained to zero
+//    remaining capacity).  The default value is 600 (10 minutes).  Value -1
+//    tuns off periodic chores (and wakeups) in these conditions.
+
+struct healthd_config {
+    int periodic_chores_interval_fast;
+    int periodic_chores_interval_slow;
+};
+
 // The following are implemented in libhealthd_board to handle board-specific
 // behavior.
 //
-// Set periodic poll intervals in seconds.
-//
-// fast_interval is used while the device is not in suspend, or in suspend and
-// connected to a charger (to watch for battery overheat due to charging).
-// The default value is 60 (1 minute).  Value -1 turns off fast_interval
-// polling.
-//
-// slow_interval is used when the device is in suspend and not connected to a
-// charger (to watch for a battery drained to zero remaining capacity).  The
-// default value is 600 (10 minutes).  Value -1 tuns off slow interval
-// polling.
 //
 // To use the default values, this function can simply return without
 // modifying the parameters.
 
-void healthd_board_poll_intervals(int *fast_interval, int *slow_interval);
+void healthd_board_init(struct healthd_config *config);
 
 // Process updated battery property values.  This function is called when
 // the kernel sends updated battery status via a uevent from the power_supply
