Commit 69c86373c6ea1149aa559e6088362d58d8ec8835
Committed by
John W. Linville
1 parent
75a9a92625
Document the rfkill sysfs ABI
This moves sysfs ABI info from Documentation/rfkill.txt to the ABI subfolder and reformats it. This also schedules the deprecated sysfs parts to be removed in 2012 (claim file) and 2014 (state file). Signed-off-by: Florian Mickler <florian@mickler.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Showing 4 changed files with 102 additions and 31 deletions Side-by-side Diff
Documentation/ABI/obsolete/sysfs-class-rfkill
1 | +rfkill - radio frequency (RF) connector kill switch support | |
2 | + | |
3 | +For details to this subsystem look at Documentation/rfkill.txt. | |
4 | + | |
5 | +What: /sys/class/rfkill/rfkill[0-9]+/state | |
6 | +Date: 09-Jul-2007 | |
7 | +KernelVersion v2.6.22 | |
8 | +Contact: linux-wireless@vger.kernel.org | |
9 | +Description: Current state of the transmitter. | |
10 | + This file is deprecated and sheduled to be removed in 2014, | |
11 | + because its not possible to express the 'soft and hard block' | |
12 | + state of the rfkill driver. | |
13 | +Values: A numeric value. | |
14 | + 0: RFKILL_STATE_SOFT_BLOCKED | |
15 | + transmitter is turned off by software | |
16 | + 1: RFKILL_STATE_UNBLOCKED | |
17 | + transmitter is (potentially) active | |
18 | + 2: RFKILL_STATE_HARD_BLOCKED | |
19 | + transmitter is forced off by something outside of | |
20 | + the driver's control. | |
21 | + | |
22 | +What: /sys/class/rfkill/rfkill[0-9]+/claim | |
23 | +Date: 09-Jul-2007 | |
24 | +KernelVersion v2.6.22 | |
25 | +Contact: linux-wireless@vger.kernel.org | |
26 | +Description: This file is deprecated because there no longer is a way to | |
27 | + claim just control over a single rfkill instance. | |
28 | + This file is scheduled to be removed in 2012. | |
29 | +Values: 0: Kernel handles events |
Documentation/ABI/stable/sysfs-class-rfkill
1 | +rfkill - radio frequency (RF) connector kill switch support | |
2 | + | |
3 | +For details to this subsystem look at Documentation/rfkill.txt. | |
4 | + | |
5 | +For the deprecated /sys/class/rfkill/*/state and | |
6 | +/sys/class/rfkill/*/claim knobs of this interface look in | |
7 | +Documentation/ABI/obsolte/sysfs-class-rfkill. | |
8 | + | |
9 | +What: /sys/class/rfkill | |
10 | +Date: 09-Jul-2007 | |
11 | +KernelVersion: v2.6.22 | |
12 | +Contact: linux-wireless@vger.kernel.org, | |
13 | +Description: The rfkill class subsystem folder. | |
14 | + Each registered rfkill driver is represented by an rfkillX | |
15 | + subfolder (X being an integer > 0). | |
16 | + | |
17 | + | |
18 | +What: /sys/class/rfkill/rfkill[0-9]+/name | |
19 | +Date: 09-Jul-2007 | |
20 | +KernelVersion v2.6.22 | |
21 | +Contact: linux-wireless@vger.kernel.org | |
22 | +Description: Name assigned by driver to this key (interface or driver name). | |
23 | +Values: arbitrary string. | |
24 | + | |
25 | + | |
26 | +What: /sys/class/rfkill/rfkill[0-9]+/type | |
27 | +Date: 09-Jul-2007 | |
28 | +KernelVersion v2.6.22 | |
29 | +Contact: linux-wireless@vger.kernel.org | |
30 | +Description: Driver type string ("wlan", "bluetooth", etc). | |
31 | +Values: See include/linux/rfkill.h. | |
32 | + | |
33 | + | |
34 | +What: /sys/class/rfkill/rfkill[0-9]+/persistent | |
35 | +Date: 09-Jul-2007 | |
36 | +KernelVersion v2.6.22 | |
37 | +Contact: linux-wireless@vger.kernel.org | |
38 | +Description: Whether the soft blocked state is initialised from non-volatile | |
39 | + storage at startup. | |
40 | +Values: A numeric value. | |
41 | + 0: false | |
42 | + 1: true |
Documentation/feature-removal-schedule.txt
... | ... | @@ -520,6 +520,24 @@ |
520 | 520 | |
521 | 521 | ---------------------------- |
522 | 522 | |
523 | +What: sysfs-class-rfkill state file | |
524 | +When: Feb 2014 | |
525 | +Files: net/rfkill/core.c | |
526 | +Why: Documented as obsolete since Feb 2010. This file is limited to 3 | |
527 | + states while the rfkill drivers can have 4 states. | |
528 | +Who: anybody or Florian Mickler <florian@mickler.org> | |
529 | + | |
530 | +---------------------------- | |
531 | + | |
532 | +What: sysfs-class-rfkill claim file | |
533 | +When: Feb 2012 | |
534 | +Files: net/rfkill/core.c | |
535 | +Why: It is not possible to claim an rfkill driver since 2007. This is | |
536 | + Documented as obsolete since Feb 2010. | |
537 | +Who: anybody or Florian Mickler <florian@mickler.org> | |
538 | + | |
539 | +---------------------------- | |
540 | + | |
523 | 541 | What: capifs |
524 | 542 | When: February 2011 |
525 | 543 | Files: drivers/isdn/capi/capifs.* |
Documentation/rfkill.txt
... | ... | @@ -99,42 +99,24 @@ |
99 | 99 | a specified type) into a state which also updates the default state for |
100 | 100 | hotplugged devices. |
101 | 101 | |
102 | -After an application opens /dev/rfkill, it can read the current state of | |
103 | -all devices, and afterwards can poll the descriptor for hotplug or state | |
104 | -change events. | |
102 | +After an application opens /dev/rfkill, it can read the current state of all | |
103 | +devices. Changes can be either obtained by either polling the descriptor for | |
104 | +hotplug or state change events or by listening for uevents emitted by the | |
105 | +rfkill core framework. | |
105 | 106 | |
106 | -Applications must ignore operations (the "op" field) they do not handle, | |
107 | -this allows the API to be extended in the future. | |
107 | +Additionally, each rfkill device is registered in sysfs and emits uevents. | |
108 | 108 | |
109 | -Additionally, each rfkill device is registered in sysfs and there has the | |
110 | -following attributes: | |
109 | +rfkill devices issue uevents (with an action of "change"), with the following | |
110 | +environment variables set: | |
111 | 111 | |
112 | - name: Name assigned by driver to this key (interface or driver name). | |
113 | - type: Driver type string ("wlan", "bluetooth", etc). | |
114 | - persistent: Whether the soft blocked state is initialised from | |
115 | - non-volatile storage at startup. | |
116 | - state: Current state of the transmitter | |
117 | - 0: RFKILL_STATE_SOFT_BLOCKED | |
118 | - transmitter is turned off by software | |
119 | - 1: RFKILL_STATE_UNBLOCKED | |
120 | - transmitter is (potentially) active | |
121 | - 2: RFKILL_STATE_HARD_BLOCKED | |
122 | - transmitter is forced off by something outside of | |
123 | - the driver's control. | |
124 | - This file is deprecated because it can only properly show | |
125 | - three of the four possible states, soft-and-hard-blocked is | |
126 | - missing. | |
127 | - claim: 0: Kernel handles events | |
128 | - This file is deprecated because there no longer is a way to | |
129 | - claim just control over a single rfkill instance. | |
130 | - | |
131 | -rfkill devices also issue uevents (with an action of "change"), with the | |
132 | -following environment variables set: | |
133 | - | |
134 | 112 | RFKILL_NAME |
135 | 113 | RFKILL_STATE |
136 | 114 | RFKILL_TYPE |
137 | 115 | |
138 | 116 | The contents of these variables corresponds to the "name", "state" and |
139 | 117 | "type" sysfs files explained above. |
118 | + | |
119 | + | |
120 | +For further details consult Documentation/ABI/stable/dev-rfkill and | |
121 | +Documentation/ABI/stable/sysfs-class-rfkill. |