mac80211: ath9k: enable platform WLAN LED name
[openwrt.git] / package / kernel / mac80211 / patches / 546-ath9k_platform_led_name.patch
diff --git a/package/kernel/mac80211/patches/546-ath9k_platform_led_name.patch b/package/kernel/mac80211/patches/546-ath9k_platform_led_name.patch
new file mode 100644 (file)
index 0000000..8d2d899
--- /dev/null
@@ -0,0 +1,48 @@
+From: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
+Date: Sun, 31 Jan 2016 20:45:57 +0100
+Subject: [PATCH v4 1/8] mac80211: ath9k: enable platform WLAN LED name
+
+Enable platform-supplied WLAN LED name for ath9k device. It replaces generic
+'ath9k-phy*' label with string set during platform initialization.
+
+Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
+---
+ drivers/net/wireless/ath/ath9k/gpio.c |   10 +++++++---
+ include/linux/ath9k_platform.h        |    1 +
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+--- a/drivers/net/wireless/ath/ath9k/gpio.c
++++ b/drivers/net/wireless/ath/ath9k/gpio.c
+@@ -132,15 +132,19 @@ void ath_init_leds(struct ath_softc *sc)
+       if (AR_SREV_9100(sc->sc_ah))
+               return;
+-      snprintf(led_name, sizeof(led_name), "ath9k-%s",
+-               wiphy_name(sc->hw->wiphy));
++      if (pdata && pdata->led_name)
++              strncpy(led_name, pdata->led_name, sizeof(led_name));
++      else
++              snprintf(led_name, sizeof(led_name), "ath9k-%s",
++                       wiphy_name(sc->hw->wiphy));
+       if (ath9k_led_blink)
+               trigger = sc->led_default_trigger;
+       else
+               trigger = ieee80211_get_radio_led_name(sc->hw);
+-      ath_create_gpio_led(sc, sc->sc_ah->led_pin, led_name, trigger, !sc->sc_ah->config.led_active_high);
++      ath_create_gpio_led(sc, sc->sc_ah->led_pin, led_name, trigger,
++                          !sc->sc_ah->config.led_active_high);
+       if (!pdata)
+               return;
+--- a/include/linux/ath9k_platform.h
++++ b/include/linux/ath9k_platform.h
+@@ -45,6 +45,7 @@ struct ath9k_platform_data {
+       int num_leds;
+       const struct gpio_led *leds;
++      const char *led_name;
+ };
+ #endif /* _LINUX_ATH9K_PLATFORM_H */