aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2016-06-27 15:53:02 +0200
committerZoltan HERPAI <wigyori@uid0.hu>2016-06-27 15:53:02 +0200
commit3b0e46318f177b5df3165ac84ce69b02fbca1116 (patch)
tree00abb1a03310c6bd38532cce938f9e9f8c237077 /target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch
parent35228f63b33c9929eb762ba37fb40a382689b983 (diff)
downloadmaster-187ad058-3b0e46318f177b5df3165ac84ce69b02fbca1116.tar.gz
master-187ad058-3b0e46318f177b5df3165ac84ce69b02fbca1116.tar.bz2
master-187ad058-3b0e46318f177b5df3165ac84ce69b02fbca1116.zip
brcm63xx: add support for inverting ath9k LED polarity
Some devices with ath9k WiFi require changing the default active low polarity to high in order to correctly operate the WiFi status LEDs. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch')
-rw-r--r--target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch12
1 files changed, 7 insertions, 5 deletions
diff --git a/target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch b/target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch
index 07e5e21fd0..c18d8db048 100644
--- a/target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch
+++ b/target/linux/brcm63xx/patches-4.4/421-BCM63XX-add-led-pin-for-ath9k.patch
@@ -5,18 +5,18 @@
for (i = 0; i < board.has_caldata; i++)
pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset,
- board.caldata[i].endian_check);
-+ board.caldata[i].endian_check, board.caldata[i].led_pin);
++ board.caldata[i].endian_check, board.caldata[i].led_pin, board.caldata[i].led_active_high);
return 0;
}
--- a/arch/mips/bcm63xx/pci-ath9k-fixup.c
+++ b/arch/mips/bcm63xx/pci-ath9k-fixup.c
-@@ -182,13 +182,14 @@ static void ath9k_pci_fixup(struct pci_d
+@@ -182,13 +182,15 @@ static void ath9k_pci_fixup(struct pci_d
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATHEROS, PCI_ANY_ID, ath9k_pci_fixup);
void __init pci_enable_ath9k_fixup(unsigned slot, u32 offset,
- unsigned endian_check)
-+ unsigned endian_check, int led_pin)
++ unsigned endian_check, int led_pin, bool led_active_high)
{
if (ath9k_num_fixups >= ARRAY_SIZE(ath9k_fixups))
return;
@@ -24,16 +24,18 @@
ath9k_fixups[ath9k_num_fixups].slot = slot;
ath9k_fixups[ath9k_num_fixups].pdata.endian_check = endian_check;
+ ath9k_fixups[ath9k_num_fixups].pdata.led_pin = led_pin;
++ ath9k_fixups[ath9k_num_fixups].pdata.led_active_high = led_active_high;
if (!bcm63xx_read_eeprom(ath9k_fixups[ath9k_num_fixups].pdata.eeprom_data, offset))
return;
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -21,6 +21,7 @@ struct ath9k_caldata {
+@@ -21,6 +21,8 @@ struct ath9k_caldata {
unsigned int slot;
u32 caldata_offset;
unsigned int endian_check:1;
+ int led_pin;
++ bool led_active_high;
};
/*
@@ -44,6 +46,6 @@
void pci_enable_ath9k_fixup(unsigned slot, u32 offset,
- unsigned endian_check) __init;
-+ unsigned endian_check, int led_pin) __init;
++ unsigned endian_check, int led_pin, bool led_active_high) __init;
#endif /* _PCI_ATH9K_FIXUP */