Skip to content

Commit d67703f

Browse files
committed
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: David S. Miller <davem@davemloft.net>
2 parents 4ec6207 + 50ee738 commit d67703f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1518
-912
lines changed

Documentation/ABI/obsolete/sysfs-class-rfkill

Lines changed: 0 additions & 29 deletions
This file was deleted.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
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]+/claim
6+
Date: 09-Jul-2007
7+
KernelVersion v2.6.22
8+
Contact: linux-wireless@vger.kernel.org
9+
Description: This file was deprecated because there no longer was a way to
10+
claim just control over a single rfkill instance.
11+
This file was scheduled to be removed in 2012, and was removed
12+
in 2016.
13+
Values: 0: Kernel handles events

Documentation/ABI/stable/sysfs-class-rfkill

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ rfkill - radio frequency (RF) connector kill switch support
22

33
For details to this subsystem look at Documentation/rfkill.txt.
44

5-
For the deprecated /sys/class/rfkill/*/state and
6-
/sys/class/rfkill/*/claim knobs of this interface look in
7-
Documentation/ABI/obsolete/sysfs-class-rfkill.
5+
For the deprecated /sys/class/rfkill/*/claim knobs of this interface look in
6+
Documentation/ABI/removed/sysfs-class-rfkill.
87

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

4443

44+
What: /sys/class/rfkill/rfkill[0-9]+/state
45+
Date: 09-Jul-2007
46+
KernelVersion v2.6.22
47+
Contact: linux-wireless@vger.kernel.org
48+
Description: Current state of the transmitter.
49+
This file was scheduled to be removed in 2014, but due to its
50+
large number of users it will be sticking around for a bit
51+
longer. Despite it being marked as stabe, the newer "hard" and
52+
"soft" interfaces should be preffered, since it is not possible
53+
to express the 'soft and hard block' state of the rfkill driver
54+
through this interface. There will likely be another attempt to
55+
remove it in the future.
56+
Values: A numeric value.
57+
0: RFKILL_STATE_SOFT_BLOCKED
58+
transmitter is turned off by software
59+
1: RFKILL_STATE_UNBLOCKED
60+
transmitter is (potentially) active
61+
2: RFKILL_STATE_HARD_BLOCKED
62+
transmitter is forced off by something outside of
63+
the driver's control.
64+
65+
4566
What: /sys/class/rfkill/rfkill[0-9]+/hard
4667
Date: 12-March-2010
4768
KernelVersion v2.6.34

Documentation/networking/mac80211-injection.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,23 @@ radiotap headers and used to control injection:
2828
IEEE80211_RADIOTAP_F_TX_NOACK: frame should be sent without waiting for
2929
an ACK even if it is a unicast frame
3030

31+
* IEEE80211_RADIOTAP_RATE
32+
33+
legacy rate for the transmission (only for devices without own rate control)
34+
35+
* IEEE80211_RADIOTAP_MCS
36+
37+
HT rate for the transmission (only for devices without own rate control).
38+
Also some flags are parsed
39+
40+
IEEE80211_TX_RC_SHORT_GI: use short guard interval
41+
IEEE80211_TX_RC_40_MHZ_WIDTH: send in HT40 mode
42+
43+
* IEEE80211_RADIOTAP_DATA_RETRIES
44+
45+
number of retries when either IEEE80211_RADIOTAP_RATE or
46+
IEEE80211_RADIOTAP_MCS was used
47+
3148
The injection code can also skip all other currently defined radiotap fields
3249
facilitating replay of captured radiotap headers directly.
3350

Documentation/rfkill.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ rfkill drivers that control devices that can be hard-blocked unless they also
8383
assign the poll_hw_block() callback (then the rfkill core will poll the
8484
device). Don't do this unless you cannot get the event in any other way.
8585

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

8789

8890
5. Userspace support

arch/arm/mach-tegra/board-paz00.c

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,25 @@
1717
*
1818
*/
1919

20+
#include <linux/property.h>
2021
#include <linux/gpio/machine.h>
2122
#include <linux/platform_device.h>
22-
#include <linux/rfkill-gpio.h>
2323

2424
#include "board.h"
2525

26-
static struct rfkill_gpio_platform_data wifi_rfkill_platform_data = {
27-
.name = "wifi_rfkill",
28-
.type = RFKILL_TYPE_WLAN,
26+
static struct property_entry __initdata wifi_rfkill_prop[] = {
27+
PROPERTY_ENTRY_STRING("name", "wifi_rfkill"),
28+
PROPERTY_ENTRY_STRING("type", "wlan"),
29+
{ },
30+
};
31+
32+
static struct property_set __initdata wifi_rfkill_pset = {
33+
.properties = wifi_rfkill_prop,
2934
};
3035

3136
static struct platform_device wifi_rfkill_device = {
3237
.name = "rfkill_gpio",
3338
.id = -1,
34-
.dev = {
35-
.platform_data = &wifi_rfkill_platform_data,
36-
},
3739
};
3840

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

4850
void __init tegra_paz00_wifikill_init(void)
4951
{
52+
platform_device_add_properties(&wifi_rfkill_device, &wifi_rfkill_pset);
5053
gpiod_add_lookup_table(&wifi_gpio_lookup);
5154
platform_device_register(&wifi_rfkill_device);
5255
}

drivers/net/wireless/ath/ath10k/mac.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6366,12 +6366,13 @@ static u64 ath10k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
63666366

63676367
static int ath10k_ampdu_action(struct ieee80211_hw *hw,
63686368
struct ieee80211_vif *vif,
6369-
enum ieee80211_ampdu_mlme_action action,
6370-
struct ieee80211_sta *sta, u16 tid, u16 *ssn,
6371-
u8 buf_size, bool amsdu)
6369+
struct ieee80211_ampdu_params *params)
63726370
{
63736371
struct ath10k *ar = hw->priv;
63746372
struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
6373+
struct ieee80211_sta *sta = params->sta;
6374+
enum ieee80211_ampdu_mlme_action action = params->action;
6375+
u16 tid = params->tid;
63756376

63766377
ath10k_dbg(ar, ATH10K_DBG_MAC, "mac ampdu vdev_id %i sta %pM tid %hu action %d\n",
63776378
arvif->vdev_id, sta->addr, tid, action);

drivers/net/wireless/ath/ath9k/htc_drv_main.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1657,13 +1657,14 @@ static void ath9k_htc_reset_tsf(struct ieee80211_hw *hw,
16571657

16581658
static int ath9k_htc_ampdu_action(struct ieee80211_hw *hw,
16591659
struct ieee80211_vif *vif,
1660-
enum ieee80211_ampdu_mlme_action action,
1661-
struct ieee80211_sta *sta,
1662-
u16 tid, u16 *ssn, u8 buf_size, bool amsdu)
1660+
struct ieee80211_ampdu_params *params)
16631661
{
16641662
struct ath9k_htc_priv *priv = hw->priv;
16651663
struct ath9k_htc_sta *ista;
16661664
int ret = 0;
1665+
struct ieee80211_sta *sta = params->sta;
1666+
enum ieee80211_ampdu_mlme_action action = params->action;
1667+
u16 tid = params->tid;
16671668

16681669
mutex_lock(&priv->mutex);
16691670
ath9k_htc_ps_wakeup(priv);

drivers/net/wireless/ath/ath9k/main.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1864,14 +1864,16 @@ static void ath9k_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
18641864

18651865
static int ath9k_ampdu_action(struct ieee80211_hw *hw,
18661866
struct ieee80211_vif *vif,
1867-
enum ieee80211_ampdu_mlme_action action,
1868-
struct ieee80211_sta *sta,
1869-
u16 tid, u16 *ssn, u8 buf_size, bool amsdu)
1867+
struct ieee80211_ampdu_params *params)
18701868
{
18711869
struct ath_softc *sc = hw->priv;
18721870
struct ath_common *common = ath9k_hw_common(sc->sc_ah);
18731871
bool flush = false;
18741872
int ret = 0;
1873+
struct ieee80211_sta *sta = params->sta;
1874+
enum ieee80211_ampdu_mlme_action action = params->action;
1875+
u16 tid = params->tid;
1876+
u16 *ssn = &params->ssn;
18751877

18761878
mutex_lock(&sc->mutex);
18771879

drivers/net/wireless/ath/carl9170/main.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1413,10 +1413,12 @@ static void carl9170_ampdu_work(struct work_struct *work)
14131413

14141414
static int carl9170_op_ampdu_action(struct ieee80211_hw *hw,
14151415
struct ieee80211_vif *vif,
1416-
enum ieee80211_ampdu_mlme_action action,
1417-
struct ieee80211_sta *sta,
1418-
u16 tid, u16 *ssn, u8 buf_size, bool amsdu)
1416+
struct ieee80211_ampdu_params *params)
14191417
{
1418+
struct ieee80211_sta *sta = params->sta;
1419+
enum ieee80211_ampdu_mlme_action action = params->action;
1420+
u16 tid = params->tid;
1421+
u16 *ssn = &params->ssn;
14201422
struct ar9170 *ar = hw->priv;
14211423
struct carl9170_sta_info *sta_info = (void *) sta->drv_priv;
14221424
struct carl9170_sta_tid *tid_info;

0 commit comments

Comments
 (0)