You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge tag 'master-2014-10-02' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
John W. Linville says:
====================
pull request: wireless-next 2014-10-03
Please pull tihs batch of updates intended for the 3.18 stream!
For the iwlwifi bits, Emmanuel says:
"I have here a few things that depend on the latest mac80211's changes:
RRM, TPC, Quiet Period etc... Eyal keeps improving our rate control
and we have a new device ID. This last patch should probably have
gone to wireless.git, but at that stage, I preferred to send it to
-next and CC stable."
For (most of) the Atheros bits, Kalle says:
"The only new feature is testmode support from me. Ben added a new method
to crash the firmware with an assert for debug purposes. As usual, we
have lots of smaller fixes from Michal. Matteo fixed a Kconfig
dependency with debugfs. I fixed some warnings recently added to
checkpatch."
For the NFC bits, Samuel says:
"We've had major updates for TI and ST Microelectronics drivers, and a
few NCI related changes.
For TI's trf7970a driver:
- Target mode support for trf7970a
- Suspend/resume support for trf7970a
- DT properties additions to handle different quirks
- A bunch of fixes for smartphone IOP related issues
For ST Microelectronics' ST21NFCA and ST21NFCB drivers:
- ISO15693 support for st21nfcb
- checkpatch and sparse related warning fixes
- Code cleanups and a few minor fixes
Finally, Marvell added ISO15693 support to the NCI stack, together with a
couple of NCI fixes."
For the Bluetooth bits, Johan says:
"This 3.18 pull request replaces the one I did on Monday ("bluetooth-next
2014-09-22", which hasn't been pulled yet). The additions since the last
request are:
- SCO connection fix for devices not supporting eSCO
- Cleanups regarding the SCO establishment logic
- Remove unnecessary return value from logging functions
- Header compression fix for 6lowpan
- Cleanups to the ieee802154/mrf24j40 driver
Here's a copy from previous request that this one replaces:
'
Here are some more patches for 3.18. They include various fixes to the
btusb HCI driver, a fix for LE SMP, as well as adding Jukka to the
MAINTAINERS file for generic 6LoWPAN (as requested by Alexander Aring).
I've held on to this pull request a bit since we were waiting for a SCO
related fix to get sorted out first. However, since the merge window is
getting closer I decided not to wait for it. If we do get the fix sorted
out there'll probably be a second small pull request later this week.
'"
And,
"Unless 3.17 gets delayed this will probably be our last -next pull request for
3.18. We've got:
- New Marvell hardware supportr
- Multicast support for 6lowpan
- Several of 6lowpan fixes & cleanups
- Fix for a (false-positive) lockdep warning in L2CAP
- Minor btusb cleanup"
On top of all that comes the usual sort of updates to ath5k, ath9k,
ath10k, brcmfmac, mwifiex, and wil6210. This time around there are
also a number of rtlwifi updates to enable some new hardware and
to reconcile the in-kernel drivers with some newer releases of the
Realtek vendor drivers. Also of note is some device tree work for
the bcma bus.
Please let me know if there are problems!
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
Driver for ARM AXI Bus with Broadcom Plugins (bcma)
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : brcm,bus-axi
|
||||
|
||||
- reg : iomem address range of chipcommon core
|
||||
|
||||
The cores on the AXI bus are automatically detected by bcma with the
|
||||
memory ranges they are using and they get registered afterwards.
|
||||
|
||||
The top-level axi bus may contain children representing attached cores
|
||||
(devices). This is needed since some hardware details can't be auto
|
||||
detected (e.g. IRQ numbers). Also some of the cores may be responsible
|
||||
for extra things, e.g. ChipCommon providing access to the GPIO chip.
|
||||
|
||||
Example:
|
||||
|
||||
axi@18000000 {
|
||||
compatible = "brcm,bus-axi";
|
||||
reg = <0x18000000 0x1000>;
|
||||
ranges = <0x00000000 0x18000000 0x00100000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
chipcommon {
|
||||
reg = <0x00000000 0x1000>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
@@ -26,7 +26,7 @@ Example (for ARM-based BeagleBoard xM with ST21NFCB on I2C2):
|
||||
clock-frequency = <400000>;
|
||||
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
reset-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
@@ -13,6 +13,11 @@ Optional SoC Specific Properties:
|
||||
- pinctrl-names: Contains only one value - "default".
|
||||
- pintctrl-0: Specifies the pin control groups used for this controller.
|
||||
- autosuspend-delay: Specify autosuspend delay in milliseconds.
|
||||
- vin-voltage-override: Specify voltage of VIN pin in microvolts.
|
||||
- irq-status-read-quirk: Specify that the trf7970a being used has the
|
||||
"IRQ Status Read" erratum.
|
||||
- en2-rf-quirk: Specify that the trf7970a being used has the "EN2 RF"
|
||||
erratum.
|
||||
|
||||
Example (for ARM-based BeagleBone with TRF7970A on SPI1):
|
||||
|
||||
@@ -30,7 +35,10 @@ Example (for ARM-based BeagleBone with TRF7970A on SPI1):
|
||||
ti,enable-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>,
|
||||
<&gpio2 5 GPIO_ACTIVE_LOW>;
|
||||
vin-supply = <&ldo3_reg>;
|
||||
vin-voltage-override = <5000000>;
|
||||
autosuspend-delay = <30000>;
|
||||
irq-status-read-quirk;
|
||||
en2-rf-quirk;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
+3
-2
@@ -152,6 +152,7 @@ F: drivers/scsi/53c700*
|
||||
|
||||
6LOWPAN GENERIC (BTLE/IEEE 802.15.4)
|
||||
M: Alexander Aring <alex.aring@gmail.com>
|
||||
M: Jukka Rissanen <jukka.rissanen@linux.intel.com>
|
||||
L: linux-bluetooth@vger.kernel.org
|
||||
L: linux-wpan@vger.kernel.org
|
||||
S: Maintained
|
||||
@@ -1616,6 +1617,7 @@ L: wil6210@qca.qualcomm.com
|
||||
S: Supported
|
||||
W: http://wireless.kernel.org/en/users/Drivers/wil6210
|
||||
F: drivers/net/wireless/ath/wil6210/
|
||||
F: include/uapi/linux/wil6210_uapi.h
|
||||
|
||||
CARL9170 LINUX COMMUNITY WIRELESS DRIVER
|
||||
M: Christian Lamparter <chunkeey@googlemail.com>
|
||||
@@ -7494,13 +7496,12 @@ F: drivers/video/fbdev/aty/aty128fb.c
|
||||
|
||||
RALINK RT2X00 WIRELESS LAN DRIVER
|
||||
P: rt2x00 project
|
||||
M: Ivo van Doorn <IvDoorn@gmail.com>
|
||||
M: Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
M: Helmut Schaa <helmut.schaa@googlemail.com>
|
||||
L: linux-wireless@vger.kernel.org
|
||||
L: users@rt2x00.serialmonkey.com (moderated for non-subscribers)
|
||||
W: http://rt2x00.serialmonkey.com/
|
||||
S: Maintained
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ivd/rt2x00.git
|
||||
F: drivers/net/wireless/rt2x00/
|
||||
|
||||
RAMDISK RAM BLOCK DEVICE DRIVER
|
||||
|
||||
@@ -88,6 +88,20 @@ extern int __init bcma_host_pci_init(void);
|
||||
extern void __exit bcma_host_pci_exit(void);
|
||||
#endif /* CONFIG_BCMA_HOST_PCI */
|
||||
|
||||
/* host_soc.c */
|
||||
#if defined(CONFIG_BCMA_HOST_SOC) && defined(CONFIG_OF)
|
||||
extern int __init bcma_host_soc_register_driver(void);
|
||||
extern void __exit bcma_host_soc_unregister_driver(void);
|
||||
#else
|
||||
static inline int __init bcma_host_soc_register_driver(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline void __exit bcma_host_soc_unregister_driver(void)
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_BCMA_HOST_SOC && CONFIG_OF */
|
||||
|
||||
/* driver_pci.c */
|
||||
u32 bcma_pcie_read(struct bcma_drv_pci *pc, u32 address);
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ static void bcma_gpio_free(struct gpio_chip *chip, unsigned gpio)
|
||||
bcma_chipco_gpio_pullup(cc, 1 << gpio, 0);
|
||||
}
|
||||
|
||||
#if IS_BUILTIN(CONFIG_BCMA_HOST_SOC)
|
||||
#if IS_BUILTIN(CONFIG_BCM47XX)
|
||||
static int bcma_gpio_to_irq(struct gpio_chip *chip, unsigned gpio)
|
||||
{
|
||||
struct bcma_drv_cc *cc = bcma_gpio_get_cc(chip);
|
||||
@@ -215,8 +215,12 @@ 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;
|
||||
#if IS_BUILTIN(CONFIG_BCMA_HOST_SOC)
|
||||
#if IS_BUILTIN(CONFIG_BCM47XX)
|
||||
chip->to_irq = bcma_gpio_to_irq;
|
||||
#endif
|
||||
#if IS_BUILTIN(CONFIG_OF)
|
||||
if (cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC)
|
||||
chip->of_node = cc->core->dev.of_node;
|
||||
#endif
|
||||
switch (cc->core->bus->chipinfo.id) {
|
||||
case BCMA_CHIP_ID_BCM5357:
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
|
||||
#include "bcma_private.h"
|
||||
#include "scan.h"
|
||||
#include <linux/slab.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/bcma/bcma.h>
|
||||
#include <linux/bcma/bcma_soc.h>
|
||||
|
||||
@@ -176,6 +179,7 @@ int __init bcma_host_soc_register(struct bcma_soc *soc)
|
||||
/* Host specific */
|
||||
bus->hosttype = BCMA_HOSTTYPE_SOC;
|
||||
bus->ops = &bcma_host_soc_ops;
|
||||
bus->host_pdev = NULL;
|
||||
|
||||
/* Initialize struct, detect chip */
|
||||
bcma_init_bus(bus);
|
||||
@@ -195,3 +199,80 @@ int __init bcma_host_soc_init(struct bcma_soc *soc)
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static int bcma_host_soc_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
struct device_node *np = dev->of_node;
|
||||
struct bcma_bus *bus;
|
||||
int err;
|
||||
|
||||
/* Alloc */
|
||||
bus = devm_kzalloc(dev, sizeof(*bus), GFP_KERNEL);
|
||||
if (!bus)
|
||||
return -ENOMEM;
|
||||
|
||||
/* Map MMIO */
|
||||
bus->mmio = of_iomap(np, 0);
|
||||
if (!bus->mmio)
|
||||
return -ENOMEM;
|
||||
|
||||
/* Host specific */
|
||||
bus->hosttype = BCMA_HOSTTYPE_SOC;
|
||||
bus->ops = &bcma_host_soc_ops;
|
||||
bus->host_pdev = pdev;
|
||||
|
||||
/* Initialize struct, detect chip */
|
||||
bcma_init_bus(bus);
|
||||
|
||||
/* Register */
|
||||
err = bcma_bus_register(bus);
|
||||
if (err)
|
||||
goto err_unmap_mmio;
|
||||
|
||||
platform_set_drvdata(pdev, bus);
|
||||
|
||||
return err;
|
||||
|
||||
err_unmap_mmio:
|
||||
iounmap(bus->mmio);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int bcma_host_soc_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct bcma_bus *bus = platform_get_drvdata(pdev);
|
||||
|
||||
bcma_bus_unregister(bus);
|
||||
iounmap(bus->mmio);
|
||||
platform_set_drvdata(pdev, NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct of_device_id bcma_host_soc_of_match[] = {
|
||||
{ .compatible = "brcm,bus-axi", },
|
||||
{},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, bcma_host_soc_of_match);
|
||||
|
||||
static struct platform_driver bcma_host_soc_driver = {
|
||||
.driver = {
|
||||
.name = "bcma-host-soc",
|
||||
.of_match_table = bcma_host_soc_of_match,
|
||||
},
|
||||
.probe = bcma_host_soc_probe,
|
||||
.remove = bcma_host_soc_remove,
|
||||
};
|
||||
|
||||
int __init bcma_host_soc_register_driver(void)
|
||||
{
|
||||
return platform_driver_register(&bcma_host_soc_driver);
|
||||
}
|
||||
|
||||
void __exit bcma_host_soc_unregister_driver(void)
|
||||
{
|
||||
platform_driver_unregister(&bcma_host_soc_driver);
|
||||
}
|
||||
#endif /* CONFIG_OF */
|
||||
|
||||
+51
-1
@@ -10,6 +10,7 @@
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/bcma/bcma.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/of_address.h>
|
||||
|
||||
MODULE_DESCRIPTION("Broadcom's specific AMBA driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
@@ -131,6 +132,43 @@ static bool bcma_is_core_needed_early(u16 core_id)
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static struct device_node *bcma_of_find_child_device(struct platform_device *parent,
|
||||
struct bcma_device *core)
|
||||
{
|
||||
struct device_node *node;
|
||||
u64 size;
|
||||
const __be32 *reg;
|
||||
|
||||
if (!parent || !parent->dev.of_node)
|
||||
return NULL;
|
||||
|
||||
for_each_child_of_node(parent->dev.of_node, node) {
|
||||
reg = of_get_address(node, 0, &size, NULL);
|
||||
if (!reg)
|
||||
continue;
|
||||
if (of_translate_address(node, reg) == core->addr)
|
||||
return node;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void bcma_of_fill_device(struct platform_device *parent,
|
||||
struct bcma_device *core)
|
||||
{
|
||||
struct device_node *node;
|
||||
|
||||
node = bcma_of_find_child_device(parent, core);
|
||||
if (node)
|
||||
core->dev.of_node = node;
|
||||
}
|
||||
#else
|
||||
static void bcma_of_fill_device(struct platform_device *parent,
|
||||
struct bcma_device *core)
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_OF */
|
||||
|
||||
static void bcma_register_core(struct bcma_bus *bus, struct bcma_device *core)
|
||||
{
|
||||
int err;
|
||||
@@ -147,7 +185,13 @@ static void bcma_register_core(struct bcma_bus *bus, struct bcma_device *core)
|
||||
break;
|
||||
case BCMA_HOSTTYPE_SOC:
|
||||
core->dev.dma_mask = &core->dev.coherent_dma_mask;
|
||||
core->dma_dev = &core->dev;
|
||||
if (bus->host_pdev) {
|
||||
core->dma_dev = &bus->host_pdev->dev;
|
||||
core->dev.parent = &bus->host_pdev->dev;
|
||||
bcma_of_fill_device(bus->host_pdev, core);
|
||||
} else {
|
||||
core->dma_dev = &core->dev;
|
||||
}
|
||||
break;
|
||||
case BCMA_HOSTTYPE_SDIO:
|
||||
break;
|
||||
@@ -528,6 +572,11 @@ static int __init bcma_modinit(void)
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
err = bcma_host_soc_register_driver();
|
||||
if (err) {
|
||||
pr_err("SoC host initialization failed\n");
|
||||
err = 0;
|
||||
}
|
||||
#ifdef CONFIG_BCMA_HOST_PCI
|
||||
err = bcma_host_pci_init();
|
||||
if (err) {
|
||||
@@ -545,6 +594,7 @@ static void __exit bcma_modexit(void)
|
||||
#ifdef CONFIG_BCMA_HOST_PCI
|
||||
bcma_host_pci_exit();
|
||||
#endif
|
||||
bcma_host_soc_unregister_driver();
|
||||
bus_unregister(&bcma_bus_type);
|
||||
}
|
||||
module_exit(bcma_modexit)
|
||||
|
||||
+6
-2
@@ -439,6 +439,7 @@ void bcma_init_bus(struct bcma_bus *bus)
|
||||
{
|
||||
s32 tmp;
|
||||
struct bcma_chipinfo *chipinfo = &(bus->chipinfo);
|
||||
char chip_id[8];
|
||||
|
||||
INIT_LIST_HEAD(&bus->cores);
|
||||
bus->nr_cores = 0;
|
||||
@@ -449,8 +450,11 @@ void bcma_init_bus(struct bcma_bus *bus)
|
||||
chipinfo->id = (tmp & BCMA_CC_ID_ID) >> BCMA_CC_ID_ID_SHIFT;
|
||||
chipinfo->rev = (tmp & BCMA_CC_ID_REV) >> BCMA_CC_ID_REV_SHIFT;
|
||||
chipinfo->pkg = (tmp & BCMA_CC_ID_PKG) >> BCMA_CC_ID_PKG_SHIFT;
|
||||
bcma_info(bus, "Found chip with id 0x%04X, rev 0x%02X and package 0x%02X\n",
|
||||
chipinfo->id, chipinfo->rev, chipinfo->pkg);
|
||||
|
||||
snprintf(chip_id, ARRAY_SIZE(chip_id),
|
||||
(chipinfo->id > 0x9999) ? "%d" : "0x%04X", chipinfo->id);
|
||||
bcma_info(bus, "Found chip with id %s, rev 0x%02X and package 0x%02X\n",
|
||||
chip_id, chipinfo->rev, chipinfo->pkg);
|
||||
}
|
||||
|
||||
int bcma_bus_scan(struct bcma_bus *bus)
|
||||
|
||||
@@ -201,7 +201,7 @@ config BT_MRVL
|
||||
The core driver to support Marvell Bluetooth devices.
|
||||
|
||||
This driver is required if you want to support
|
||||
Marvell Bluetooth devices, such as 8688/8787/8797/8897.
|
||||
Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897.
|
||||
|
||||
Say Y here to compile Marvell Bluetooth driver
|
||||
into the kernel or say M to compile it as module.
|
||||
@@ -214,7 +214,7 @@ config BT_MRVL_SDIO
|
||||
The driver for Marvell Bluetooth chipsets with SDIO interface.
|
||||
|
||||
This driver is required if you want to use Marvell Bluetooth
|
||||
devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8897
|
||||
devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897
|
||||
chipsets are supported.
|
||||
|
||||
Say Y here to compile support for Marvell BT-over-SDIO driver
|
||||
|
||||
@@ -84,7 +84,27 @@ static const struct btmrvl_sdio_card_reg btmrvl_reg_87xx = {
|
||||
.int_read_to_clear = false,
|
||||
};
|
||||
|
||||
static const struct btmrvl_sdio_card_reg btmrvl_reg_88xx = {
|
||||
static const struct btmrvl_sdio_card_reg btmrvl_reg_8887 = {
|
||||
.cfg = 0x00,
|
||||
.host_int_mask = 0x08,
|
||||
.host_intstatus = 0x0C,
|
||||
.card_status = 0x5C,
|
||||
.sq_read_base_addr_a0 = 0x6C,
|
||||
.sq_read_base_addr_a1 = 0x6D,
|
||||
.card_revision = 0xC8,
|
||||
.card_fw_status0 = 0x88,
|
||||
.card_fw_status1 = 0x89,
|
||||
.card_rx_len = 0x8A,
|
||||
.card_rx_unit = 0x8B,
|
||||
.io_port_0 = 0xE4,
|
||||
.io_port_1 = 0xE5,
|
||||
.io_port_2 = 0xE6,
|
||||
.int_read_to_clear = true,
|
||||
.host_int_rsr = 0x04,
|
||||
.card_misc_cfg = 0xD8,
|
||||
};
|
||||
|
||||
static const struct btmrvl_sdio_card_reg btmrvl_reg_8897 = {
|
||||
.cfg = 0x00,
|
||||
.host_int_mask = 0x02,
|
||||
.host_intstatus = 0x03,
|
||||
@@ -128,10 +148,18 @@ static const struct btmrvl_sdio_device btmrvl_sdio_sd8797 = {
|
||||
.sd_blksz_fw_dl = 256,
|
||||
};
|
||||
|
||||
static const struct btmrvl_sdio_device btmrvl_sdio_sd8887 = {
|
||||
.helper = NULL,
|
||||
.firmware = "mrvl/sd8887_uapsta.bin",
|
||||
.reg = &btmrvl_reg_8887,
|
||||
.support_pscan_win_report = true,
|
||||
.sd_blksz_fw_dl = 256,
|
||||
};
|
||||
|
||||
static const struct btmrvl_sdio_device btmrvl_sdio_sd8897 = {
|
||||
.helper = NULL,
|
||||
.firmware = "mrvl/sd8897_uapsta.bin",
|
||||
.reg = &btmrvl_reg_88xx,
|
||||
.reg = &btmrvl_reg_8897,
|
||||
.support_pscan_win_report = true,
|
||||
.sd_blksz_fw_dl = 256,
|
||||
};
|
||||
@@ -149,6 +177,9 @@ static const struct sdio_device_id btmrvl_sdio_ids[] = {
|
||||
/* Marvell SD8797 Bluetooth device */
|
||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, 0x912A),
|
||||
.driver_data = (unsigned long) &btmrvl_sdio_sd8797 },
|
||||
/* Marvell SD8887 Bluetooth device */
|
||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, 0x9136),
|
||||
.driver_data = (unsigned long)&btmrvl_sdio_sd8887 },
|
||||
/* Marvell SD8897 Bluetooth device */
|
||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, 0x912E),
|
||||
.driver_data = (unsigned long) &btmrvl_sdio_sd8897 },
|
||||
@@ -1280,4 +1311,5 @@ MODULE_FIRMWARE("mrvl/sd8688_helper.bin");
|
||||
MODULE_FIRMWARE("mrvl/sd8688.bin");
|
||||
MODULE_FIRMWARE("mrvl/sd8787_uapsta.bin");
|
||||
MODULE_FIRMWARE("mrvl/sd8797_uapsta.bin");
|
||||
MODULE_FIRMWARE("mrvl/sd8887_uapsta.bin");
|
||||
MODULE_FIRMWARE("mrvl/sd8897_uapsta.bin");
|
||||
|
||||
+396
-161
File diff suppressed because it is too large
Load Diff
@@ -323,8 +323,8 @@ static int mrf24j40_read_rx_buf(struct mrf24j40 *devrec,
|
||||
#ifdef DEBUG
|
||||
print_hex_dump(KERN_DEBUG, "mrf24j40 rx: ",
|
||||
DUMP_PREFIX_OFFSET, 16, 1, data, *len, 0);
|
||||
printk(KERN_DEBUG "mrf24j40 rx: lqi: %02hhx rssi: %02hhx\n",
|
||||
lqi_rssi[0], lqi_rssi[1]);
|
||||
pr_debug("mrf24j40 rx: lqi: %02hhx rssi: %02hhx\n",
|
||||
lqi_rssi[0], lqi_rssi[1]);
|
||||
#endif
|
||||
|
||||
out:
|
||||
@@ -385,7 +385,7 @@ err:
|
||||
static int mrf24j40_ed(struct ieee802154_dev *dev, u8 *level)
|
||||
{
|
||||
/* TODO: */
|
||||
printk(KERN_WARNING "mrf24j40: ed not implemented\n");
|
||||
pr_warn("mrf24j40: ed not implemented\n");
|
||||
*level = 0;
|
||||
return 0;
|
||||
}
|
||||
@@ -412,6 +412,7 @@ static void mrf24j40_stop(struct ieee802154_dev *dev)
|
||||
struct mrf24j40 *devrec = dev->priv;
|
||||
u8 val;
|
||||
int ret;
|
||||
|
||||
dev_dbg(printdev(devrec), "stop\n");
|
||||
|
||||
ret = read_short_reg(devrec, REG_INTCON, &val);
|
||||
@@ -419,8 +420,6 @@ static void mrf24j40_stop(struct ieee802154_dev *dev)
|
||||
return;
|
||||
val |= 0x1|0x8; /* Set TXNIE and RXIE. Disable Interrupts */
|
||||
write_short_reg(devrec, REG_INTCON, val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
static int mrf24j40_set_channel(struct ieee802154_dev *dev,
|
||||
@@ -465,6 +464,7 @@ static int mrf24j40_filter(struct ieee802154_dev *dev,
|
||||
if (changed & IEEE802515_AFILT_SADDR_CHANGED) {
|
||||
/* Short Addr */
|
||||
u8 addrh, addrl;
|
||||
|
||||
addrh = le16_to_cpu(filt->short_addr) >> 8 & 0xff;
|
||||
addrl = le16_to_cpu(filt->short_addr) & 0xff;
|
||||
|
||||
@@ -483,16 +483,17 @@ static int mrf24j40_filter(struct ieee802154_dev *dev,
|
||||
write_short_reg(devrec, REG_EADR0 + i, addr[i]);
|
||||
|
||||
#ifdef DEBUG
|
||||
printk(KERN_DEBUG "Set long addr to: ");
|
||||
pr_debug("Set long addr to: ");
|
||||
for (i = 0; i < 8; i++)
|
||||
printk("%02hhx ", addr[7 - i]);
|
||||
printk(KERN_DEBUG "\n");
|
||||
pr_debug("%02hhx ", addr[7 - i]);
|
||||
pr_debug("\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
if (changed & IEEE802515_AFILT_PANID_CHANGED) {
|
||||
/* PAN ID */
|
||||
u8 panidl, panidh;
|
||||
|
||||
panidh = le16_to_cpu(filt->pan_id) >> 8 & 0xff;
|
||||
panidl = le16_to_cpu(filt->pan_id) & 0xff;
|
||||
write_short_reg(devrec, REG_PANIDH, panidh);
|
||||
@@ -701,7 +702,7 @@ static int mrf24j40_probe(struct spi_device *spi)
|
||||
int ret = -ENOMEM;
|
||||
struct mrf24j40 *devrec;
|
||||
|
||||
printk(KERN_INFO "mrf24j40: probe(). IRQ: %d\n", spi->irq);
|
||||
dev_info(&spi->dev, "probe(). IRQ: %d\n", spi->irq);
|
||||
|
||||
devrec = devm_kzalloc(&spi->dev, sizeof(struct mrf24j40), GFP_KERNEL);
|
||||
if (!devrec)
|
||||
|
||||
@@ -25,6 +25,14 @@ config ATH_DEBUG
|
||||
Say Y, if you want to debug atheros wireless drivers.
|
||||
Right now only ath9k makes use of this.
|
||||
|
||||
config ATH_TRACEPOINTS
|
||||
bool "Atheros wireless tracing"
|
||||
depends on ATH_DEBUG
|
||||
depends on EVENT_TRACING
|
||||
---help---
|
||||
This option enables tracepoints for atheros wireless drivers.
|
||||
Currently, ath9k makes use of this facility.
|
||||
|
||||
config ATH_REG_DYNAMIC_USER_REG_HINTS
|
||||
bool "Atheros dynamic user regulatory hints"
|
||||
depends on CFG80211_CERTIFICATION_ONUS
|
||||
|
||||
@@ -17,4 +17,8 @@ ath-objs := main.o \
|
||||
dfs_pri_detector.o
|
||||
|
||||
ath-$(CONFIG_ATH_DEBUG) += debug.o
|
||||
ath-$(CONFIG_ATH_TRACEPOINTS) += trace.o
|
||||
|
||||
ccflags-y += -D__CHECK_ENDIAN__
|
||||
|
||||
CFLAGS_trace.o := -I$(src)
|
||||
|
||||
@@ -268,6 +268,7 @@ enum ATH_DEBUG {
|
||||
};
|
||||
|
||||
#define ATH_DBG_DEFAULT (ATH_DBG_FATAL)
|
||||
#define ATH_DBG_MAX_LEN 512
|
||||
|
||||
#ifdef CONFIG_ATH_DEBUG
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ config ATH10K_DEBUG
|
||||
|
||||
config ATH10K_DEBUGFS
|
||||
bool "Atheros ath10k debugfs support"
|
||||
depends on ATH10K
|
||||
depends on ATH10K && DEBUG_FS
|
||||
select RELAY
|
||||
---help---
|
||||
Enabled debugfs support
|
||||
|
||||
@@ -11,6 +11,7 @@ ath10k_core-y += mac.o \
|
||||
bmi.o
|
||||
|
||||
ath10k_core-$(CONFIG_ATH10K_DEBUGFS) += spectral.o
|
||||
ath10k_core-$(CONFIG_NL80211_TESTMODE) += testmode.o
|
||||
ath10k_core-$(CONFIG_ATH10K_TRACING) += trace.o
|
||||
|
||||
obj-$(CONFIG_ATH10K_PCI) += ath10k_pci.o
|
||||
|
||||
@@ -177,7 +177,6 @@ struct bmi_target_info {
|
||||
u32 type;
|
||||
};
|
||||
|
||||
|
||||
/* in msec */
|
||||
#define BMI_COMMUNICATION_TIMEOUT_HZ (1*HZ)
|
||||
|
||||
|
||||
@@ -260,7 +260,6 @@ static inline void ath10k_ce_engine_int_status_clear(struct ath10k *ar,
|
||||
ath10k_pci_write32(ar, ce_ctrl_addr + HOST_IS_ADDRESS, mask);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Guts of ath10k_ce_send, used by both ath10k_ce_send and
|
||||
* ath10k_ce_sendlist_send.
|
||||
@@ -385,7 +384,6 @@ int ath10k_ce_num_free_src_entries(struct ath10k_ce_pipe *pipe)
|
||||
return delta;
|
||||
}
|
||||
|
||||
|
||||
int __ath10k_ce_rx_num_free_bufs(struct ath10k_ce_pipe *pipe)
|
||||
{
|
||||
struct ath10k *ar = pipe->ar;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user