brcm63xx: add support for inverting ath9k LED polarity
[openwrt/openwrt.git] / target / linux / brcm63xx / patches-4.4 / 421-BCM63XX-add-led-pin-for-ath9k.patch
index 07e5e21fd069c8f05761b7ff601ca0b2a10faec0..c18d8db048130325b2d07cc4c21de4b106ddb15e 100644 (file)
@@ -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;
        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 */