pseq: Add named GPIO properties
Add the new named GPIO properties from the JSON config file to the
power sequencer device class hierarchy.
New JSON GPIO properties:
* power_control_gpio_name
* power_good_gpio_name
Power sequencer device class hierarchy:
* PowerSequencerDevice (power_sequencer_device.*)
* StandardDevice (standard_device.*)
* PMBusDriverDevice (pmbus_driver_device.*)
* UCD90xDevice (ucd90x_device.*)
* UCD90160Device (ucd90160_device.*)
* UCD90320Device (ucd90320_device.*)
Tested:
* Ran automated tests. All ran successfully.
Change-Id: Idcccee89eb09cb7d135f45aeb4f6dfe8299adf43
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
diff --git a/phosphor-power-sequencer/src/ucd90x_device.hpp b/phosphor-power-sequencer/src/ucd90x_device.hpp
index 45dd774..e19c1b6 100644
--- a/phosphor-power-sequencer/src/ucd90x_device.hpp
+++ b/phosphor-power-sequencer/src/ucd90x_device.hpp
@@ -53,14 +53,20 @@
* @param name Device name
* @param bus I2C bus for the device
* @param address I2C address for the device
+ * @param powerControlGPIOName Name of the GPIO that turns this device on
+ * and off
+ * @param powerGoodGPIOName Name of the GPIO that reads the power good
+ * signal from this device
* @param rails Voltage rails that are enabled and monitored by this device
* @param services System services like hardware presence and the journal
*/
- explicit UCD90xDevice(const std::string& name, uint8_t bus,
- uint16_t address,
- std::vector<std::unique_ptr<Rail>> rails,
- Services& services) :
- PMBusDriverDevice(name, bus, address, std::move(rails), services,
+ explicit UCD90xDevice(
+ const std::string& name, uint8_t bus, uint16_t address,
+ const std::string& powerControlGPIOName,
+ const std::string& powerGoodGPIOName,
+ std::vector<std::unique_ptr<Rail>> rails, Services& services) :
+ PMBusDriverDevice(name, bus, address, powerControlGPIOName,
+ powerGoodGPIOName, std::move(rails), services,
driverName)
{}