diff options
Diffstat (limited to 'Documentation/rfkill.txt')
-rw-r--r-- | Documentation/rfkill.txt | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/Documentation/rfkill.txt b/Documentation/rfkill.txt index b65f0799df48..4d3ee317a4a3 100644 --- a/Documentation/rfkill.txt +++ b/Documentation/rfkill.txt | |||
@@ -191,12 +191,20 @@ Userspace input handlers (uevents) or kernel input handlers (rfkill-input): | |||
191 | to tell the devices registered with the rfkill class to change | 191 | to tell the devices registered with the rfkill class to change |
192 | their state (i.e. translates the input layer event into real | 192 | their state (i.e. translates the input layer event into real |
193 | action). | 193 | action). |
194 | |||
194 | * rfkill-input implements EPO by handling EV_SW SW_RFKILL_ALL 0 | 195 | * rfkill-input implements EPO by handling EV_SW SW_RFKILL_ALL 0 |
195 | (power off all transmitters) in a special way: it ignores any | 196 | (power off all transmitters) in a special way: it ignores any |
196 | overrides and local state cache and forces all transmitters to the | 197 | overrides and local state cache and forces all transmitters to the |
197 | RFKILL_STATE_SOFT_BLOCKED state (including those which are already | 198 | RFKILL_STATE_SOFT_BLOCKED state (including those which are already |
198 | supposed to be BLOCKED). Note that the opposite event (power on all | 199 | supposed to be BLOCKED). |
199 | transmitters) is handled normally. | 200 | * rfkill EPO will remain active until rfkill-input receives an |
201 | EV_SW SW_RFKILL_ALL 1 event. While the EPO is active, transmitters | ||
202 | are locked in the blocked state (rfkill will refuse to unblock them). | ||
203 | * rfkill-input implements different policies that the user can | ||
204 | select for handling EV_SW SW_RFKILL_ALL 1. It will unlock rfkill, | ||
205 | and either do nothing (leave transmitters blocked, but now unlocked), | ||
206 | restore the transmitters to their state before the EPO, or unblock | ||
207 | them all. | ||
200 | 208 | ||
201 | Userspace uevent handler or kernel platform-specific drivers hooked to the | 209 | Userspace uevent handler or kernel platform-specific drivers hooked to the |
202 | rfkill notifier chain: | 210 | rfkill notifier chain: |
@@ -331,11 +339,9 @@ class to get a sysfs interface :-) | |||
331 | correct event for your switch/button. These events are emergency power-off | 339 | correct event for your switch/button. These events are emergency power-off |
332 | events when they are trying to turn the transmitters off. An example of an | 340 | events when they are trying to turn the transmitters off. An example of an |
333 | input device which SHOULD generate *_RFKILL_ALL events is the wireless-kill | 341 | input device which SHOULD generate *_RFKILL_ALL events is the wireless-kill |
334 | switch in a laptop which is NOT a hotkey, but a real switch that kills radios | 342 | switch in a laptop which is NOT a hotkey, but a real sliding/rocker switch. |
335 | in hardware, even if the O.S. has gone to lunch. An example of an input device | 343 | An example of an input device which SHOULD NOT generate *_RFKILL_ALL events by |
336 | which SHOULD NOT generate *_RFKILL_ALL events by default, is any sort of hot | 344 | default, is any sort of hot key that is type-specific (e.g. the one for WLAN). |
337 | key that does nothing by itself, as well as any hot key that is type-specific | ||
338 | (e.g. the one for WLAN). | ||
339 | 345 | ||
340 | 346 | ||
341 | 3.1 Guidelines for wireless device drivers | 347 | 3.1 Guidelines for wireless device drivers |