summaryrefslogtreecommitdiffstats
path: root/rules/99-systemd.rules.in
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-10-01 14:32:48 +0200
committerLennart Poettering <lennart@poettering.net>2015-10-01 16:21:09 +0200
commitd35c1bb1f4b90993124f817f6f54a933e3be5f6b (patch)
tree7cce3640bd85c96fc51bdb7e485f681063f4d484 /rules/99-systemd.rules.in
parentcore: add new setting Writable= to ListenSpecial= socket units (diff)
downloadsystemd-d35c1bb1f4b90993124f817f6f54a933e3be5f6b.tar.xz
systemd-d35c1bb1f4b90993124f817f6f54a933e3be5f6b.zip
rfkill: rework and make it listen on /dev/rfkill
With this rework we introduce systemd-rfkill.service as singleton that is activated via systemd-rfkill.socket that listens on /dev/rfkill. That way, we get notified each time a new rfkill device shows up or changes state, in which case we restore and save its current setting to disk. This is nicer than the previous logic, as this means we save/restore state even of rfkill devices that are around only intermittently, and save/restore the state even if the system is shutdown abruptly instead of cleanly. This implements what I suggested in #1019 and obsoletes it.
Diffstat (limited to 'rules/99-systemd.rules.in')
-rw-r--r--rules/99-systemd.rules.in3
1 files changed, 2 insertions, 1 deletions
diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
index 10b90b8133..5c2cda51ec 100644
--- a/rules/99-systemd.rules.in
+++ b/rules/99-systemd.rules.in
@@ -57,7 +57,8 @@ SUBSYSTEM=="leds", KERNEL=="*kbd_backlight", TAG+="systemd", IMPORT{builtin}="pa
# Pull in rfkill save/restore for all rfkill devices
-SUBSYSTEM=="rfkill", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/rfkill/devices/%k", ENV{SYSTEMD_WANTS}+="systemd-rfkill@$name.service"
+SUBSYSTEM=="rfkill", IMPORT{builtin}="path_id"
+SUBSYSTEM=="misc", KERNEL=="rfkill", TAG+="systemd", ENV{SYSTEMD_WANTS}+="systemd-rfkill.socket"
# Asynchronously mount file systems implemented by these modules as soon as they are loaded.
SUBSYSTEM=="module", KERNEL=="fuse", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-fs-fuse-connections.mount"