** Description changed:

  Some ARM board uses GPIO gpio_key.12 for power control (key=116). The
  proposed patch adds entry to logind's 70-power-switch.rules to initiate
  soft shutdown of the cartridge from ilo.
  
  Here is the udevadm output for /dev/input/event0
  
  sudo udevadm info --query=all --name=/dev/input/event0 --attribute-walk
  
  Udevadm info starts with the device specified by the devpath and then
  walks up the chain of parent devices. It prints for every device
  found, all possible attributes in the udev rules key format.
  A rule to match, can be composed by the attributes of the device
  and the attributes from one single parent device.
  
-   looking at device '/devices/soc.3/gpio_keys.12/input/input0/event0':
-     KERNEL=="event0"
-     SUBSYSTEM=="input"
-     DRIVER==""
+   looking at device '/devices/soc.3/gpio_keys.12/input/input0/event0':
+     KERNEL=="event0"
+     SUBSYSTEM=="input"
+     DRIVER==""
  
-   looking at parent device '/devices/soc.3/gpio_keys.12/input/input0':
-     KERNELS=="input0"
-     SUBSYSTEMS=="input"
-     DRIVERS==""
-     ATTRS{name}=="gpio_keys.12"
-     ATTRS{phys}=="gpio-keys/input0"
-     ATTRS{uniq}==""
-     ATTRS{properties}=="0"
+   looking at parent device '/devices/soc.3/gpio_keys.12/input/input0':
+     KERNELS=="input0"
+     SUBSYSTEMS=="input"
+     DRIVERS==""
+     ATTRS{name}=="gpio_keys.12"
+     ATTRS{phys}=="gpio-keys/input0"
+     ATTRS{uniq}==""
+     ATTRS{properties}=="0"
  
-   looking at parent device '/devices/soc.3/gpio_keys.12':
-     KERNELS=="gpio_keys.12"
-     SUBSYSTEMS=="platform"
-     DRIVERS=="gpio-keys"
-     ATTRS{keys}=="116"
-     ATTRS{switches}==""
-     ATTRS{disabled_keys}==""
-     ATTRS{disabled_switches}==""
+   looking at parent device '/devices/soc.3/gpio_keys.12':
+     KERNELS=="gpio_keys.12"
+     SUBSYSTEMS=="platform"
+     DRIVERS=="gpio-keys"
+     ATTRS{keys}=="116"
+     ATTRS{switches}==""
+     ATTRS{disabled_keys}==""
+     ATTRS{disabled_switches}==""
  
-   looking at parent device '/devices/soc.3':
-     KERNELS=="soc.3"
-     SUBSYSTEMS=="platform"
-     DRIVERS==""
+   looking at parent device '/devices/soc.3':
+     KERNELS=="soc.3"
+     SUBSYSTEMS=="platform"
+     DRIVERS==""
  
  Regarding the possibility of gpio_key.12 being used by other systems to
  map to some other trigger, I put in the check that the gpio_key.12 is
  associated with power control (keys=116). '116' is supposedly linux
  generic power control in DTS. There is no uniq idSystem or idVendor for
  device /dev/input/event0 as you can see from udevadm output, therefore I
  tried to use the best available combination as a safety check. This
  patch will enable power control for any system vendor (Other than the
  one the patch in intended for) that describes in DTS, the trigger
  gpio_key.12 as power control (116).
+ 
+ 
+ SRU Request
+ ==========
+ 
+ [Impact]
+ 
+ * User won't be able to initiate a soft shutdown from the chassis
+ manager.
+ 
+ [Test Case]
+ 
+ * To reproduce this bug, initiate a soft shutdown from the chassis manager, 
for example from ilo you could do
+ <ilo> set node power off shutdown <node number>
+ 
+ [Test Result]
+ 
+ == BEFORE PATCH ==
+ 
+ $ cat /lib/udev/rules.d/70-power-switch.rules
+ # This file is part of systemd.
+ #
+ # systemd is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU Lesser General Public License as published by
+ # the Free Software Foundation; either version 2.1 of the License, or
+ # (at your option) any later version.
+ 
+ ACTION=="remove", GOTO="power_switch_end"
+ 
+ SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch"
+ SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", 
TAG+="power-switch"
+ 
+ LABEL="power_switch_end"
+ $
+ 
+ </>hpiLO-> set node power off shutdown c3n2
+ 
+   c3: #Cartridge 3
+     c3n2: #Node 2 Shutting node down gracefully
+ 
+ hpiLO-> show node list
+ 
+ Slot ID Proc Manufacturer Architecture Memory Power Health
+ ---- ----- ---------------------- -------------------- ------ ----- ------
+   3 c3n1 **** ARM Architecture 8 GB On OK
+   3 c3n2 **** ARM Architecture 8 GB On OK
+   3 c3n3 **** ARM Architecture 8 GB On OK
+   3 c3n4 **** ARM Architecture 8 GB Off OK
+ 
+ hpiLO->
+ 
+ == AFTER PATCH ==
+ 
+ hpiLO-> set node power off shutdown c3n1
+ 
+   c3: #Cartridge 3
+     c3n1: #Node 1 Shutting node down gracefully
+ 
+ hpiLO-> show node list
+ 
+ Slot ID Proc Manufacturer Architecture Memory Power Health
+ ---- ----- ---------------------- -------------------- ------ ----- ------
+   3 c3n1 **** ARM Architecture 8 GB Off OK
+   3 c3n2 **** ARM Architecture 8 GB On OK
+   3 c3n3 **** ARM Architecture 8 GB On OK
+   3 c3n4 **** ARM Architecture 8 GB Off OK
+ 
+ hpiLO->
+ 
+ [Regression Potential]
+ 
+ None.
+ Note: Regarding the possibility of gpio_key.12 being used by other systems to 
map to some other trigger, I put in the check that the gpio_key.12 is 
associated with power control (keys=116). '116' is supposedly linux generic 
power control in DTS.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1347776

Title:
  shutdown trigger on gpio_keys.X for armhf hardware

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1347776/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to