[Discussion] how to implement external power down for ARM
Shannon Zhao
shannon.zhao at linaro.org
Wed May 6 19:39:35 PDT 2015
On 2015/5/6 15:29, Arnd Bergmann wrote:
> On Wednesday 06 May 2015 14:56:58 Shannon Zhao wrote:
>> On 2015/5/5 19:13, Shannon Zhao wrote:
>> gpio-keys {
>> autorepeat;
>> #address-cells = <0x1>;
>> #size-cells = <0x0>;
>> compatible = "gpio-keys";
>>
>> poweroff {
>> gpios = <0x8002 0x3 0x0>;
>> linux,code = <0x74>;
>> label = "GPIO Key Poweroff";
>> };
>> };
>>
>> Configure kernel to select GPIO Buttons and Polled GPIO buttons. Use a
>> Redhat filesystem "Red Hat Enterprise Linux Server for ARM Development
>> Preview release 1.5" which has systemd and systemd-logind. Start VM and
>> when it starts well type "system_powerdown" on QEMU monitor, the guest
>> goes to poweroff. So this way works.
>
> Ok, very good.
>
>> Note: we must check the /lib/udev/rules.d/70-power-switch.rules in the
>> fs and add one following line in it if it doesn't exist.
>>
>> SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="platform",
>> ATTRS{keys}=="116", TAG+="power-switch"
>>
>> Then when execute journalctl -u systemd-logind in guest, we can see
>> something like below:
>>
>> Jan 01 00:01:02 localhost systemd[1]: Starting Login Service...
>> Jan 01 00:01:07 localhost systemd[1]: Started Login Service.
>> Jan 01 00:01:07 localhost systemd-logind[927]: Watching system buttons
>> on /dev/input/event0 (gpio-keys)
>> Jan 01 00:01:07 localhost systemd-logind[927]: New seat seat0.
>> Jan 01 00:01:25 localhost systemd-logind[927]: New session c1 of user root.
>>
>> Visit https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1347776 for
>> details.
>
> How about Ubuntu or Debian releases that do not use systemd?
>
> I guess we should check with a Debian Wheezy or Ubuntu Trusty release.
> My guess is that it will work fine, but some minor adjustment might
> be needed.
>
Hi Arnd,
If the Debian Wheezy or Ubuntu Trusty release doesn't use systemd, what
user space process do they use to handle the input device event?
I tried Ubuntu Trusty from Christoffer, when typing "system_powerdown"
on QEMU monitor, "cat /dev/input/event0 | hexdump" shows the event is
triggered but the guest doesn't poweroff.
--
Shannon
More information about the linux-arm-kernel
mailing list