openwrt/target/linux/bcm27xx/patches-5.4/950-0754-overlays-gpio-shut...

52 lines
2.2 KiB
Diff

From 047041db91fabcb768c3e5680645b69fa9528e86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
Date: Thu, 30 Apr 2020 19:40:07 +0200
Subject: [PATCH] overlays: gpio-shutdown: Add information for SysV
init / inittab
KeyboardSignal and kb::kbrequest can be used to call /sbin/shutdown
---
arch/arm/boot/dts/overlays/README | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -847,6 +847,7 @@ Params: gpiopin GPIO for
Name: gpio-shutdown
Info: Initiates a shutdown when GPIO pin changes. The given GPIO pin
is configured as an input key that generates KEY_POWER events.
+
This event is handled by systemd-logind by initiating a
shutdown. Systemd versions older than 225 need an udev rule
enable listening to the input device:
@@ -855,6 +856,29 @@ Info: Initiates a shutdown when GPIO p
SUBSYSTEMS=="platform", DRIVERS=="gpio-keys", \
ATTRS{keys}=="116", TAG+="power-switch"
+ Alternatively this event can be handled also on systems without
+ systemd, just by traditional SysV init daemon. KEY_POWER event
+ (keycode 116) needs to be mapped to KeyboardSignal on console
+ and then kb::kbrequest inittab action which is triggered by
+ KeyboardSignal from console can be configured to issue system
+ shutdown. Steps for this configuration are:
+
+ Add following lines to the /etc/console-setup/remap.inc file:
+
+ # Key Power as special keypress
+ keycode 116 = KeyboardSignal
+
+ Then add following lines to /etc/inittab file:
+
+ # Action on special keypress (Key Power)
+ kb::kbrequest:/sbin/shutdown -t1 -a -h -P now
+
+ And finally reload configuration by calling following commands:
+
+ # dpkg-reconfigure console-setup
+ # service console-setup reload
+ # init q
+
This overlay only handles shutdown. After shutdown, the system
can be powered up again by driving GPIO3 low. The default
configuration uses GPIO3 with a pullup, so if you connect a