summaryrefslogtreecommitdiffstats
path: root/pychassisctl
diff options
context:
space:
mode:
authorAdriana Kobylak <anoo@us.ibm.com>2016-08-15 11:12:53 -0500
committerPatrick Williams <patrick@stwcx.xyz>2016-08-17 14:28:19 +0000
commiteeb9b44e432ea0e976659fcae30b0bf9ba63a5b7 (patch)
tree9a88ea61cee0b41bec37709260daef5db2044c4f /pychassisctl
parent1e8a74ae0ea3177011a37104df93ba98ec6a357b (diff)
downloadtalos-skeleton-eeb9b44e432ea0e976659fcae30b0bf9ba63a5b7.tar.gz
talos-skeleton-eeb9b44e432ea0e976659fcae30b0bf9ba63a5b7.zip
Power button power off behavior
Change the power button behavior to mirror the current behavior on Power and x86 systems: On short press: soft power off On long press: hard power off Resolves openbmc/openbmc#485 Change-Id: I436c364f6ed072474f942f80d98428df11b4c666 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
Diffstat (limited to 'pychassisctl')
-rwxr-xr-xpychassisctl/chassis_control.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/pychassisctl/chassis_control.py b/pychassisctl/chassis_control.py
index b3e16ff..7f14195 100755
--- a/pychassisctl/chassis_control.py
+++ b/pychassisctl/chassis_control.py
@@ -82,7 +82,7 @@ class ChassisControlObject(DbusProperties, DbusObjectManager):
dbus_interface="org.openbmc.Button",
signal_name="Released",
path="/org/openbmc/buttons/power0")
- bus.add_signal_receiver(self.reset_button_signal_handler,
+ bus.add_signal_receiver(self.long_power_button_signal_handler,
dbus_interface="org.openbmc.Button",
signal_name="PressedLong",
path="/org/openbmc/buttons/power0")
@@ -211,15 +211,16 @@ class ChassisControlObject(DbusProperties, DbusObjectManager):
self.powerOn()
def power_button_signal_handler(self):
- # toggle power
+ # toggle power, power-on / soft-power-off
state = self.getPowerState()
if state == POWER_OFF:
self.powerOn()
elif state == POWER_ON:
- self.powerOff();
+ self.softPowerOff();
- def reset_button_signal_handler(self):
- self.reboot();
+ def long_power_button_signal_handler(self):
+ print "Long-press button, hard power off"
+ self.powerOff();
def softreset_button_signal_handler(self):
self.softReboot();
OpenPOWER on IntegriCloud