ath9k: Add a module parameter to invert LED polarity.
authorVittorio Gambaletta (VittGam) <linux-wireless@vittgam.net>
Mon, 11 Apr 2016 02:48:54 +0000 (04:48 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Mon, 25 Apr 2016 17:37:03 +0000 (20:37 +0300)
The LED can be active high instead of active low on some hardware.

Add the led_active_high module parameter. It defaults to -1 to obey
platform data as before.

Setting the parameter to 1 or 0 will force the LED respectively
active high or active low.

Cc: <linux-wireless@vger.kernel.org>
Cc: <ath9k-devel@qca.qualcomm.com>
Cc: <ath9k-devel@lists.ath9k.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Vittorio Gambaletta <linuxbugs@vittgam.net>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath9k/init.c

index fb702c4..535b164 100644 (file)
@@ -49,6 +49,10 @@ int ath9k_led_blink;
 module_param_named(blink, ath9k_led_blink, int, 0444);
 MODULE_PARM_DESC(blink, "Enable LED blink on activity");
 
+static int ath9k_led_active_high = -1;
+module_param_named(led_active_high, ath9k_led_active_high, int, 0444);
+MODULE_PARM_DESC(led_active_high, "Invert LED polarity");
+
 static int ath9k_btcoex_enable;
 module_param_named(btcoex_enable, ath9k_btcoex_enable, int, 0444);
 MODULE_PARM_DESC(btcoex_enable, "Enable wifi-BT coexistence");
@@ -600,6 +604,9 @@ static int ath9k_init_softc(u16 devid, struct ath_softc *sc,
        if (ret)
                return ret;
 
+       if (ath9k_led_active_high != -1)
+               ah->config.led_active_high = ath9k_led_active_high == 1;
+
        /*
         * Enable WLAN/BT RX Antenna diversity only when:
         *