diff options
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-led.c | 9 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-led.h | 12 |
2 files changed, 20 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-led.c b/drivers/net/wireless/iwlwifi/iwl-led.c index f547233c5b79..685ba9d6f082 100644 --- a/drivers/net/wireless/iwlwifi/iwl-led.c +++ b/drivers/net/wireless/iwlwifi/iwl-led.c | |||
@@ -42,6 +42,12 @@ | |||
42 | #include "iwl-core.h" | 42 | #include "iwl-core.h" |
43 | #include "iwl-io.h" | 43 | #include "iwl-io.h" |
44 | 44 | ||
45 | /* default: IWL_LED_BLINK(0) using blinking index table */ | ||
46 | static int led_mode; | ||
47 | module_param(led_mode, int, S_IRUGO); | ||
48 | MODULE_PARM_DESC(led_mode, "led mode: 0=blinking, 1=On(RF On)/Off(RF Off), " | ||
49 | "(default 0)\n"); | ||
50 | |||
45 | #ifdef CONFIG_IWLWIFI_DEBUG | 51 | #ifdef CONFIG_IWLWIFI_DEBUG |
46 | static const char *led_type_str[] = { | 52 | static const char *led_type_str[] = { |
47 | __stringify(IWL_LED_TRG_TX), | 53 | __stringify(IWL_LED_TRG_TX), |
@@ -199,7 +205,8 @@ static int iwl_led_off_reg(struct iwl_priv *priv, int led_id) | |||
199 | static int iwl_led_associate(struct iwl_priv *priv, int led_id) | 205 | static int iwl_led_associate(struct iwl_priv *priv, int led_id) |
200 | { | 206 | { |
201 | IWL_DEBUG_LED(priv, "Associated\n"); | 207 | IWL_DEBUG_LED(priv, "Associated\n"); |
202 | priv->allow_blinking = 1; | 208 | if (led_mode == IWL_LED_BLINK) |
209 | priv->allow_blinking = 1; | ||
203 | return iwl_led_on_reg(priv, led_id); | 210 | return iwl_led_on_reg(priv, led_id); |
204 | } | 211 | } |
205 | static int iwl_led_disassociate(struct iwl_priv *priv, int led_id) | 212 | static int iwl_led_disassociate(struct iwl_priv *priv, int led_id) |
diff --git a/drivers/net/wireless/iwlwifi/iwl-led.h b/drivers/net/wireless/iwlwifi/iwl-led.h index ef9b174c37ff..dd76b266c633 100644 --- a/drivers/net/wireless/iwlwifi/iwl-led.h +++ b/drivers/net/wireless/iwlwifi/iwl-led.h | |||
@@ -47,6 +47,18 @@ enum led_type { | |||
47 | IWL_LED_TRG_RADIO, | 47 | IWL_LED_TRG_RADIO, |
48 | IWL_LED_TRG_MAX, | 48 | IWL_LED_TRG_MAX, |
49 | }; | 49 | }; |
50 | |||
51 | /* | ||
52 | * LED mode | ||
53 | * IWL_LED_BLINK: adjust led blink rate based on blink table | ||
54 | * IWL_LED_RF_STATE: turn LED on/off based on RF state | ||
55 | * LED ON = RF ON | ||
56 | * LED OFF = RF OFF | ||
57 | */ | ||
58 | enum iwl_led_mode { | ||
59 | IWL_LED_BLINK, | ||
60 | IWL_LED_RF_STATE, | ||
61 | }; | ||
50 | #endif | 62 | #endif |
51 | 63 | ||
52 | #ifdef CONFIG_IWLWIFI_LEDS | 64 | #ifdef CONFIG_IWLWIFI_LEDS |