Merge branch 'topic/hda-cache' into topic/hda
[pandora-kernel.git] / Documentation / rfkill.txt
index b65f079..4d3ee31 100644 (file)
@@ -191,12 +191,20 @@ Userspace input handlers (uevents) or kernel input handlers (rfkill-input):
          to tell the devices registered with the rfkill class to change
          their state (i.e. translates the input layer event into real
          action).
          to tell the devices registered with the rfkill class to change
          their state (i.e. translates the input layer event into real
          action).
+
        * rfkill-input implements EPO by handling EV_SW SW_RFKILL_ALL 0
          (power off all transmitters) in a special way: it ignores any
          overrides and local state cache and forces all transmitters to the
          RFKILL_STATE_SOFT_BLOCKED state (including those which are already
        * rfkill-input implements EPO by handling EV_SW SW_RFKILL_ALL 0
          (power off all transmitters) in a special way: it ignores any
          overrides and local state cache and forces all transmitters to the
          RFKILL_STATE_SOFT_BLOCKED state (including those which are already
-         supposed to be BLOCKED).  Note that the opposite event (power on all
-         transmitters) is handled normally.
+         supposed to be BLOCKED).
+       * rfkill EPO will remain active until rfkill-input receives an
+         EV_SW SW_RFKILL_ALL 1 event.  While the EPO is active, transmitters
+         are locked in the blocked state (rfkill will refuse to unblock them).
+       * rfkill-input implements different policies that the user can
+         select for handling EV_SW SW_RFKILL_ALL 1.  It will unlock rfkill,
+         and either do nothing (leave transmitters blocked, but now unlocked),
+         restore the transmitters to their state before the EPO, or unblock
+         them all.
 
 Userspace uevent handler or kernel platform-specific drivers hooked to the
 rfkill notifier chain:
 
 Userspace uevent handler or kernel platform-specific drivers hooked to the
 rfkill notifier chain:
@@ -331,11 +339,9 @@ class to get a sysfs interface :-)
 correct event for your switch/button.  These events are emergency power-off
 events when they are trying to turn the transmitters off.  An example of an
 input device which SHOULD generate *_RFKILL_ALL events is the wireless-kill
 correct event for your switch/button.  These events are emergency power-off
 events when they are trying to turn the transmitters off.  An example of an
 input device which SHOULD generate *_RFKILL_ALL events is the wireless-kill
-switch in a laptop which is NOT a hotkey, but a real switch that kills radios
-in hardware, even if the O.S. has gone to lunch.  An example of an input device
-which SHOULD NOT generate *_RFKILL_ALL events by default, is any sort of hot
-key that does nothing by itself, as well as any hot key that is type-specific
-(e.g. the one for WLAN).
+switch in a laptop which is NOT a hotkey, but a real sliding/rocker switch.
+An example of an input device which SHOULD NOT generate *_RFKILL_ALL events by
+default, is any sort of hot key that is type-specific (e.g. the one for WLAN).
 
 
 3.1 Guidelines for wireless device drivers
 
 
 3.1 Guidelines for wireless device drivers