Skip to content

Commit

Permalink
Merge branch 'wireless'
Browse files Browse the repository at this point in the history
John W. Linville says:

====================
Please accept this pull request intended for the 3.9 stream!

Included are a mac80211 pull, an iwlwifi pull (actually two -- one
was a fast-forward), a wl12xx pull, and a couple of Bluetooth pulls.

On mac80211, Johannes says:

"I've included
 * AKM definitions from Bing,
 * mesh fixes from Thomas, including a fix from him for me breaking his
   patch while applying,
 * channel check fix from Simon,
 * an old patch from Yoni Divinsky who doesn't even work for TI any
   more, to configure the WEP TX key for ARP offload etc.
 * MAC ACL API from Vasanth
 * a fix for the infamous chanctx_conf warning from Arnd
 * from myself, a fix for my previous aggregation changes, some cleanup
   and some improvements and fixes for WoWLAN"

On iwlwifi, Johannes says:

"Two small changes for iwlwifi-next, one to update all our Copyright
notices and one to provide the RX page order."

And also:

"So what I have here is some cleanups, preparations and the new MVM
(multi-virtual MAC) driver itself and (this is new) some work on the
transport API as well as a message flooding fix."

On wl12xx, Luca says:

"Lots of bugfixes and improvements in our TI wireless drivers,
including support for multi-channel.  Intended for 3.9."

On Bluetooth, Gustavo says:

"This is my first pull request to 3.9. The biggest changes here are from Johan
Hedberg who made a lot of fixes in the Management interface. The issues arose
due to a new test tool we wrote and the usage of the Management interface as
default in BlueZ 5. The rest of the patches are more clean ups and small
fixes."

And also:

"Here goes another batch intended for 3.9, the majority of the patch here are
from Johan who is fixing many issues in the management interface that have
appeared lately. The rest of the patches are just small improvements, fixes
and clean ups."

Along with those are the usual variety of updates/enhancements to
the mwl8k, mwifiex, ath9k, rtlwifi, and rt2x00 drivers as well as
a few updates for the ssb and bcma busses.  I don't think there are
any big headliners there.

Please let me know if there are problems!
====================

Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
davem330 committed Feb 8, 2013
2 parents b285109 + f5237f2 commit bfb235d
Show file tree
Hide file tree
Showing 249 changed files with 26,303 additions and 3,190 deletions.
1 change: 1 addition & 0 deletions drivers/bcma/bcma_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ int bcma_sprom_get(struct bcma_bus *bus);
/* driver_chipcommon.c */
#ifdef CONFIG_BCMA_DRIVER_MIPS
void bcma_chipco_serial_init(struct bcma_drv_cc *cc);
extern struct platform_device bcma_pflash_dev;
#endif /* CONFIG_BCMA_DRIVER_MIPS */

/* driver_chipcommon_pmu.c */
Expand Down
4 changes: 2 additions & 2 deletions drivers/bcma/driver_chipcommon_nflash.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
* Licensed under the GNU/GPL. See COPYING for details.
*/

#include "bcma_private.h"

#include <linux/platform_device.h>
#include <linux/bcma/bcma.h>

#include "bcma_private.h"

struct platform_device bcma_nflash_dev = {
.name = "bcma_nflash",
.num_resources = 0,
Expand Down
4 changes: 2 additions & 2 deletions drivers/bcma/driver_chipcommon_sflash.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
* Licensed under the GNU/GPL. See COPYING for details.
*/

#include "bcma_private.h"

#include <linux/platform_device.h>
#include <linux/bcma/bcma.h>

#include "bcma_private.h"

static struct resource bcma_sflash_resource = {
.name = "bcma_sflash",
.start = BCMA_SOC_FLASH2,
Expand Down
11 changes: 11 additions & 0 deletions drivers/bcma/driver_gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,16 @@ static void bcma_gpio_free(struct gpio_chip *chip, unsigned gpio)
bcma_chipco_gpio_pullup(cc, 1 << gpio, 0);
}

static int bcma_gpio_to_irq(struct gpio_chip *chip, unsigned gpio)
{
struct bcma_drv_cc *cc = bcma_gpio_get_cc(chip);

if (cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC)
return bcma_core_irq(cc->core);
else
return -EINVAL;
}

int bcma_gpio_init(struct bcma_drv_cc *cc)
{
struct gpio_chip *chip = &cc->gpio;
Expand All @@ -85,6 +95,7 @@ int bcma_gpio_init(struct bcma_drv_cc *cc)
chip->set = bcma_gpio_set_value;
chip->direction_input = bcma_gpio_direction_input;
chip->direction_output = bcma_gpio_direction_output;
chip->to_irq = bcma_gpio_to_irq;
chip->ngpio = 16;
/* There is just one SoC in one device and its GPIO addresses should be
* deterministic to address them more easily. The other buses could get
Expand Down
38 changes: 33 additions & 5 deletions drivers/bcma/driver_mips.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,33 @@

#include <linux/bcma/bcma.h>

#include <linux/mtd/physmap.h>
#include <linux/platform_device.h>
#include <linux/serial.h>
#include <linux/serial_core.h>
#include <linux/serial_reg.h>
#include <linux/time.h>

static const char *part_probes[] = { "bcm47xxpart", NULL };

static struct physmap_flash_data bcma_pflash_data = {
.part_probe_types = part_probes,
};

static struct resource bcma_pflash_resource = {
.name = "bcma_pflash",
.flags = IORESOURCE_MEM,
};

struct platform_device bcma_pflash_dev = {
.name = "physmap-flash",
.dev = {
.platform_data = &bcma_pflash_data,
},
.resource = &bcma_pflash_resource,
.num_resources = 1,
};

/* The 47162a0 hangs when reading MIPS DMP registers registers */
static inline bool bcma_core_mips_bcm47162a0_quirk(struct bcma_device *dev)
{
Expand Down Expand Up @@ -211,6 +233,7 @@ static void bcma_core_mips_flash_detect(struct bcma_drv_mips *mcore)
{
struct bcma_bus *bus = mcore->core->bus;
struct bcma_drv_cc *cc = &bus->drv_cc;
struct bcma_pflash *pflash = &cc->pflash;

switch (cc->capabilities & BCMA_CC_CAP_FLASHT) {
case BCMA_CC_FLASHT_STSER:
Expand All @@ -220,15 +243,20 @@ static void bcma_core_mips_flash_detect(struct bcma_drv_mips *mcore)
break;
case BCMA_CC_FLASHT_PARA:
bcma_debug(bus, "Found parallel flash\n");
cc->pflash.present = true;
cc->pflash.window = BCMA_SOC_FLASH2;
cc->pflash.window_size = BCMA_SOC_FLASH2_SZ;
pflash->present = true;
pflash->window = BCMA_SOC_FLASH2;
pflash->window_size = BCMA_SOC_FLASH2_SZ;

if ((bcma_read32(cc->core, BCMA_CC_FLASH_CFG) &
BCMA_CC_FLASH_CFG_DS) == 0)
cc->pflash.buswidth = 1;
pflash->buswidth = 1;
else
cc->pflash.buswidth = 2;
pflash->buswidth = 2;

bcma_pflash_data.width = pflash->buswidth;
bcma_pflash_resource.start = pflash->window;
bcma_pflash_resource.end = pflash->window + pflash->window_size;

break;
default:
bcma_err(bus, "Flash type not supported\n");
Expand Down
8 changes: 8 additions & 0 deletions drivers/bcma/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,14 @@ static int bcma_register_cores(struct bcma_bus *bus)
dev_id++;
}

#ifdef CONFIG_BCMA_DRIVER_MIPS
if (bus->drv_cc.pflash.present) {
err = platform_device_register(&bcma_pflash_dev);
if (err)
bcma_err(bus, "Error registering parallel flash\n");
}
#endif

#ifdef CONFIG_BCMA_SFLASH
if (bus->drv_cc.sflash.present) {
err = platform_device_register(&bcma_sflash_dev);
Expand Down
1 change: 1 addition & 0 deletions drivers/net/wireless/ath/ath9k/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ config ATH9K_DEBUGFS
bool "Atheros ath9k debugging"
depends on ATH9K
select MAC80211_DEBUGFS
select RELAY
---help---
Say Y, if you need access to ath9k's statistics for
interrupts, rate control, etc.
Expand Down
17 changes: 10 additions & 7 deletions drivers/net/wireless/ath/ath9k/ath9k.h
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,8 @@ struct ath_rx {
struct ath_rx_edma rx_edma[ATH9K_RX_QUEUE_MAX];

struct sk_buff *frag;

u32 ampdu_ref;
};

int ath_startrecv(struct ath_softc *sc);
Expand Down Expand Up @@ -754,6 +756,7 @@ struct ath_softc {
/* relay(fs) channel for spectral scan */
struct rchan *rfs_chan_spec_scan;
enum spectral_mode spectral_mode;
struct ath_spec_scan spec_config;
int scanning;

#ifdef CONFIG_PM_SLEEP
Expand Down Expand Up @@ -863,31 +866,31 @@ static inline u8 spectral_bitmap_weight(u8 *bins)
* interface.
*/
enum ath_fft_sample_type {
ATH_FFT_SAMPLE_HT20 = 0,
ATH_FFT_SAMPLE_HT20 = 1,
};

struct fft_sample_tlv {
u8 type; /* see ath_fft_sample */
u16 length;
__be16 length;
/* type dependent data follows */
} __packed;

struct fft_sample_ht20 {
struct fft_sample_tlv tlv;

u8 __alignment;
u8 max_exp;

u16 freq;
__be16 freq;
s8 rssi;
s8 noise;

u16 max_magnitude;
__be16 max_magnitude;
u8 max_index;
u8 bitmap_weight;

u64 tsf;
__be64 tsf;

u16 data[SPECTRAL_HT20_NUM_BINS];
u8 data[SPECTRAL_HT20_NUM_BINS];
} __packed;

void ath9k_tasklet(unsigned long data);
Expand Down
Loading

0 comments on commit bfb235d

Please sign in to comment.