Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 69c86373 authored by florian@mickler.org's avatar florian@mickler.org Committed by John W. Linville
Browse files

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: default avatarFlorian Mickler <florian@mickler.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 75a9a926
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
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
+42 −0
Original line number Diff line number Diff line
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
+18 −0
Original line number Diff line number Diff line
@@ -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
When:	February 2011
Files:	drivers/isdn/capi/capifs.*
+13 −31
Original line number Diff line number Diff line
@@ -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
hotplugged devices.

After an application opens /dev/rfkill, it can read the current state of
all devices, and afterwards can poll the descriptor for hotplug or state
change events.

Applications must ignore operations (the "op" field) they do not handle,
this allows the API to be extended in the future.

Additionally, each rfkill device is registered in sysfs and there has the
following attributes:

	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:
After an application opens /dev/rfkill, it can read the current state of all
devices. Changes can be either obtained by either polling the descriptor for
hotplug or state change events or by listening for uevents emitted by the
rfkill core framework.

Additionally, each rfkill device is registered in sysfs and emits uevents.

rfkill devices issue uevents (with an action of "change"), with the following
environment variables set:

RFKILL_NAME
RFKILL_STATE
@@ -137,3 +115,7 @@ RFKILL_TYPE

The contents of these variables corresponds to the "name", "state" and
"type" sysfs files explained above.


For further details consult Documentation/ABI/stable/dev-rfkill and
Documentation/ABI/stable/sysfs-class-rfkill.