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

Commit d67703fc authored by David S. Miller's avatar David S. Miller
Browse files

Merge tag 'mac80211-next-for-davem-2016-02-26' of...

Merge tag 'mac80211-next-for-davem-2016-02-26' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next



Johannes Berg says:

====================
Here's another round of updates for -next:
 * big A-MSDU RX performance improvement (avoid linearize of paged RX)
 * rfkill changes: cleanups, documentation, platform properties
 * basic PBSS support in cfg80211
 * MU-MIMO action frame processing support
 * BlockAck reordering & duplicate detection offload support
 * various cleanups & little fixes
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 4ec62070 50ee738d
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -2,28 +2,12 @@ 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 scheduled 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
Description:	This file was deprecated because there no longer was a way to
		claim just control over a single rfkill instance.
		This file is scheduled to be removed in 2012.
		This file was scheduled to be removed in 2012, and was removed
		in 2016.
Values: 	0: Kernel handles events
+24 −3
Original line number Diff line number Diff line
@@ -2,9 +2,8 @@ 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/obsolete/sysfs-class-rfkill.
For the deprecated /sys/class/rfkill/*/claim knobs of this interface look in
Documentation/ABI/removed/sysfs-class-rfkill.

What: 		/sys/class/rfkill
Date:		09-Jul-2007
@@ -42,6 +41,28 @@ Values: A numeric value.
		1: true


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 was scheduled to be removed in 2014, but due to its
		large number of users it will be sticking around for a bit
		longer. Despite it being marked as stabe, the newer "hard" and
		"soft" interfaces should be preffered, since it is not possible
		to express the 'soft and hard block' state of the rfkill driver
		through this interface. There will likely be another attempt to
		remove it in the future.
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]+/hard
Date:		12-March-2010
KernelVersion	v2.6.34
+17 −0
Original line number Diff line number Diff line
@@ -28,6 +28,23 @@ radiotap headers and used to control injection:
   IEEE80211_RADIOTAP_F_TX_NOACK: frame should be sent without waiting for
				  an ACK even if it is a unicast frame

 * IEEE80211_RADIOTAP_RATE

   legacy rate for the transmission (only for devices without own rate control)

 * IEEE80211_RADIOTAP_MCS

   HT rate for the transmission (only for devices without own rate control).
   Also some flags are parsed

   IEEE80211_TX_RC_SHORT_GI: use short guard interval
   IEEE80211_TX_RC_40_MHZ_WIDTH: send in HT40 mode

 * IEEE80211_RADIOTAP_DATA_RETRIES

   number of retries when either IEEE80211_RADIOTAP_RATE or
   IEEE80211_RADIOTAP_MCS was used

The injection code can also skip all other currently defined radiotap fields
facilitating replay of captured radiotap headers directly.

+2 −0
Original line number Diff line number Diff line
@@ -83,6 +83,8 @@ rfkill drivers that control devices that can be hard-blocked unless they also
assign the poll_hw_block() callback (then the rfkill core will poll the
device). Don't do this unless you cannot get the event in any other way.

RFKill provides per-switch LED triggers, which can be used to drive LEDs
according to the switch state (LED_FULL when blocked, LED_OFF otherwise).


5. Userspace support
+10 −7
Original line number Diff line number Diff line
@@ -17,23 +17,25 @@
 *
 */

#include <linux/property.h>
#include <linux/gpio/machine.h>
#include <linux/platform_device.h>
#include <linux/rfkill-gpio.h>

#include "board.h"

static struct rfkill_gpio_platform_data wifi_rfkill_platform_data = {
	.name	= "wifi_rfkill",
	.type	= RFKILL_TYPE_WLAN,
static struct property_entry __initdata wifi_rfkill_prop[] = {
	PROPERTY_ENTRY_STRING("name", "wifi_rfkill"),
	PROPERTY_ENTRY_STRING("type", "wlan"),
	{ },
};

static struct property_set __initdata wifi_rfkill_pset = {
	.properties = wifi_rfkill_prop,
};

static struct platform_device wifi_rfkill_device = {
	.name	= "rfkill_gpio",
	.id	= -1,
	.dev	= {
		.platform_data = &wifi_rfkill_platform_data,
	},
};

static struct gpiod_lookup_table wifi_gpio_lookup = {
@@ -47,6 +49,7 @@ static struct gpiod_lookup_table wifi_gpio_lookup = {

void __init tegra_paz00_wifikill_init(void)
{
	platform_device_add_properties(&wifi_rfkill_device, &wifi_rfkill_pset);
	gpiod_add_lookup_table(&wifi_gpio_lookup);
	platform_device_register(&wifi_rfkill_device);
}
Loading