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>
This commit is contained in:
parent
75a9a92625
commit
69c86373c6
|
@ -0,0 +1,29 @@
|
||||||
|
rfkill - radio frequency (RF) connector kill switch support
|
||||||
|
|
||||||
|
For details to this subsystem look at Documentation/rfkill.txt.
|
||||||
|
|
||||||
|
What: /sys/class/rfkill/rfkill[0-9]+/state
|
||||||
|
Date: 09-Jul-2007
|
||||||
|
KernelVersion v2.6.22
|
||||||
|
Contact: linux-wireless@vger.kernel.org
|
||||||
|
Description: Current state of the transmitter.
|
||||||
|
This file is deprecated and sheduled to be removed in 2014,
|
||||||
|
because its not possible to express the 'soft and hard block'
|
||||||
|
state of the rfkill driver.
|
||||||
|
Values: A numeric value.
|
||||||
|
0: RFKILL_STATE_SOFT_BLOCKED
|
||||||
|
transmitter is turned off by software
|
||||||
|
1: RFKILL_STATE_UNBLOCKED
|
||||||
|
transmitter is (potentially) active
|
||||||
|
2: RFKILL_STATE_HARD_BLOCKED
|
||||||
|
transmitter is forced off by something outside of
|
||||||
|
the driver's control.
|
||||||
|
|
||||||
|
What: /sys/class/rfkill/rfkill[0-9]+/claim
|
||||||
|
Date: 09-Jul-2007
|
||||||
|
KernelVersion v2.6.22
|
||||||
|
Contact: linux-wireless@vger.kernel.org
|
||||||
|
Description: This file is deprecated because there no longer is a way to
|
||||||
|
claim just control over a single rfkill instance.
|
||||||
|
This file is scheduled to be removed in 2012.
|
||||||
|
Values: 0: Kernel handles events
|
|
@ -0,0 +1,42 @@
|
||||||
|
rfkill - radio frequency (RF) connector kill switch support
|
||||||
|
|
||||||
|
For details to this subsystem look at Documentation/rfkill.txt.
|
||||||
|
|
||||||
|
For the deprecated /sys/class/rfkill/*/state and
|
||||||
|
/sys/class/rfkill/*/claim knobs of this interface look in
|
||||||
|
Documentation/ABI/obsolte/sysfs-class-rfkill.
|
||||||
|
|
||||||
|
What: /sys/class/rfkill
|
||||||
|
Date: 09-Jul-2007
|
||||||
|
KernelVersion: v2.6.22
|
||||||
|
Contact: linux-wireless@vger.kernel.org,
|
||||||
|
Description: The rfkill class subsystem folder.
|
||||||
|
Each registered rfkill driver is represented by an rfkillX
|
||||||
|
subfolder (X being an integer > 0).
|
||||||
|
|
||||||
|
|
||||||
|
What: /sys/class/rfkill/rfkill[0-9]+/name
|
||||||
|
Date: 09-Jul-2007
|
||||||
|
KernelVersion v2.6.22
|
||||||
|
Contact: linux-wireless@vger.kernel.org
|
||||||
|
Description: Name assigned by driver to this key (interface or driver name).
|
||||||
|
Values: arbitrary string.
|
||||||
|
|
||||||
|
|
||||||
|
What: /sys/class/rfkill/rfkill[0-9]+/type
|
||||||
|
Date: 09-Jul-2007
|
||||||
|
KernelVersion v2.6.22
|
||||||
|
Contact: linux-wireless@vger.kernel.org
|
||||||
|
Description: Driver type string ("wlan", "bluetooth", etc).
|
||||||
|
Values: See include/linux/rfkill.h.
|
||||||
|
|
||||||
|
|
||||||
|
What: /sys/class/rfkill/rfkill[0-9]+/persistent
|
||||||
|
Date: 09-Jul-2007
|
||||||
|
KernelVersion v2.6.22
|
||||||
|
Contact: linux-wireless@vger.kernel.org
|
||||||
|
Description: Whether the soft blocked state is initialised from non-volatile
|
||||||
|
storage at startup.
|
||||||
|
Values: A numeric value.
|
||||||
|
0: false
|
||||||
|
1: true
|
|
@ -520,6 +520,24 @@ Who: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
|
What: sysfs-class-rfkill state file
|
||||||
|
When: Feb 2014
|
||||||
|
Files: net/rfkill/core.c
|
||||||
|
Why: Documented as obsolete since Feb 2010. This file is limited to 3
|
||||||
|
states while the rfkill drivers can have 4 states.
|
||||||
|
Who: anybody or Florian Mickler <florian@mickler.org>
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
What: sysfs-class-rfkill claim file
|
||||||
|
When: Feb 2012
|
||||||
|
Files: net/rfkill/core.c
|
||||||
|
Why: It is not possible to claim an rfkill driver since 2007. This is
|
||||||
|
Documented as obsolete since Feb 2010.
|
||||||
|
Who: anybody or Florian Mickler <florian@mickler.org>
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
What: capifs
|
What: capifs
|
||||||
When: February 2011
|
When: February 2011
|
||||||
Files: drivers/isdn/capi/capifs.*
|
Files: drivers/isdn/capi/capifs.*
|
||||||
|
|
|
@ -99,37 +99,15 @@ system. Also, it is possible to switch all rfkill drivers (or all drivers of
|
||||||
a specified type) into a state which also updates the default state for
|
a specified type) into a state which also updates the default state for
|
||||||
hotplugged devices.
|
hotplugged devices.
|
||||||
|
|
||||||
After an application opens /dev/rfkill, it can read the current state of
|
After an application opens /dev/rfkill, it can read the current state of all
|
||||||
all devices, and afterwards can poll the descriptor for hotplug or state
|
devices. Changes can be either obtained by either polling the descriptor for
|
||||||
change events.
|
hotplug or state change events or by listening for uevents emitted by the
|
||||||
|
rfkill core framework.
|
||||||
|
|
||||||
Applications must ignore operations (the "op" field) they do not handle,
|
Additionally, each rfkill device is registered in sysfs and emits uevents.
|
||||||
this allows the API to be extended in the future.
|
|
||||||
|
|
||||||
Additionally, each rfkill device is registered in sysfs and there has the
|
rfkill devices issue uevents (with an action of "change"), with the following
|
||||||
following attributes:
|
environment variables set:
|
||||||
|
|
||||||
name: Name assigned by driver to this key (interface or driver name).
|
|
||||||
type: Driver type string ("wlan", "bluetooth", etc).
|
|
||||||
persistent: Whether the soft blocked state is initialised from
|
|
||||||
non-volatile storage at startup.
|
|
||||||
state: Current state of the transmitter
|
|
||||||
0: RFKILL_STATE_SOFT_BLOCKED
|
|
||||||
transmitter is turned off by software
|
|
||||||
1: RFKILL_STATE_UNBLOCKED
|
|
||||||
transmitter is (potentially) active
|
|
||||||
2: RFKILL_STATE_HARD_BLOCKED
|
|
||||||
transmitter is forced off by something outside of
|
|
||||||
the driver's control.
|
|
||||||
This file is deprecated because it can only properly show
|
|
||||||
three of the four possible states, soft-and-hard-blocked is
|
|
||||||
missing.
|
|
||||||
claim: 0: Kernel handles events
|
|
||||||
This file is deprecated because there no longer is a way to
|
|
||||||
claim just control over a single rfkill instance.
|
|
||||||
|
|
||||||
rfkill devices also issue uevents (with an action of "change"), with the
|
|
||||||
following environment variables set:
|
|
||||||
|
|
||||||
RFKILL_NAME
|
RFKILL_NAME
|
||||||
RFKILL_STATE
|
RFKILL_STATE
|
||||||
|
@ -137,3 +115,7 @@ RFKILL_TYPE
|
||||||
|
|
||||||
The contents of these variables corresponds to the "name", "state" and
|
The contents of these variables corresponds to the "name", "state" and
|
||||||
"type" sysfs files explained above.
|
"type" sysfs files explained above.
|
||||||
|
|
||||||
|
|
||||||
|
For further details consult Documentation/ABI/stable/dev-rfkill and
|
||||||
|
Documentation/ABI/stable/sysfs-class-rfkill.
|
||||||
|
|
Loading…
Reference in New Issue