ath9k: Add a module parameter to invert LED polarity.
Subsystems (2)
PATCH 1/2 ath9k: Add a module parameter to invert LED polarity.
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.
---
drivers/net/wireless/ath/ath9k/init.c +7 -0
@@ -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: *
PATCH 2/2 ath9k: Fix LED polarity for some Mini PCI AR9220 MB92 cards.
The Wistron DNMA-92 and Compex WLM200NX have inverted LED polarity (active high instead of active low).
The same PCI Subsystem ID is used by both cards, which are based on the same Atheros MB92 design.
---
drivers/net/wireless/ath/ath9k/pci.c +10 -0
@@ -28,6 +28,16 @@ static const struct pci_device_id ath_pci_id_table[] = { { PCI_VDEVICE(ATHEROS, 0x0024) }, /* PCI-E */ { PCI_VDEVICE(ATHEROS, 0x0027) }, /* PCI */ { PCI_VDEVICE(ATHEROS, 0x0029) }, /* PCI */ + +#ifdef CONFIG_ATH9K_PCOEM + /* Mini PCI AR9220 MB92 cards: Compex WLM200NX, Wistron DNMA-92 */ + { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, +0x0029 , +PCI_VENDOR_ID_ATHEROS , +0x2096 ), + .driver_data = ATH9K_PCI_LED_ACT_HI }, +#endif + { PCI_VDEVICE(ATHEROS, 0x002A) }, /* PCI-E */ #ifdef CONFIG_ATH9K_PCOEM
PATCH 1/2 ath9k: Add a module parameter to invert LED polarity.
In reply to Vittorio Gambaletta (VittGam)Quoted 5 lines · Vittorio Gambaletta (VittGam)
The LED can be active high instead of active low on some hardware.
Add the
led_active_highmodule parameter. It defaults to -1 to obey platform data as before.
Quoted 8 lines
Setting the parameter to 1 or 0 will force the LED respectively active high or active low.
Cc <[email protected]>Cc <[email protected]>Cc <[email protected]>Cc <[email protected]>Signed-off-by Vittorio Gambaletta <[email protected]>
Both patches applied, thanks.
Signature · 1 line
Kalle Valo