]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: rtlwifi: simplify LED management
authorDmitry Antipov <dmantipov@yandex.ru>
Wed, 14 Jun 2023 06:18:31 +0000 (09:18 +0300)
committerKalle Valo <kvalo@kernel.org>
Wed, 21 Jun 2023 18:31:10 +0000 (21:31 +0300)
Introduce 'rtl_init_sw_leds()' to replace per-chip LED
initialization code (and so drop 'struct rtl_led' as no
longer used), drop 'init_sw_leds' and 'deinit_sw_leds'
fields from 'struct rtl_hal_ops', adjust related code.

Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230614061832.40882-1-dmantipov@yandex.ru
40 files changed:
drivers/net/wireless/realtek/rtlwifi/core.c
drivers/net/wireless/realtek/rtlwifi/core.h
drivers/net/wireless/realtek/rtlwifi/pci.c
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.h
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.h
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.h
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c
drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.h
drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.h
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c
drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.h
drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.h
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c
drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.h
drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.h
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
drivers/net/wireless/realtek/rtlwifi/usb.c
drivers/net/wireless/realtek/rtlwifi/wifi.h

index 6f10727cdb943eddfc1edb007d382c6e4ef10e8c..4fb16f5f6f83b0b296c0ef809863855c81327cbe 100644 (file)
@@ -1908,6 +1908,16 @@ bool rtl_cmd_send_packet(struct ieee80211_hw *hw, struct sk_buff *skb)
        return true;
 }
 EXPORT_SYMBOL(rtl_cmd_send_packet);
+
+void rtl_init_sw_leds(struct ieee80211_hw *hw)
+{
+       struct rtl_priv *rtlpriv = rtl_priv(hw);
+
+       rtlpriv->ledctl.sw_led0 = LED_PIN_LED0;
+       rtlpriv->ledctl.sw_led1 = LED_PIN_LED1;
+}
+EXPORT_SYMBOL(rtl_init_sw_leds);
+
 const struct ieee80211_ops rtl_ops = {
        .start = rtl_op_start,
        .stop = rtl_op_stop,
index 345161b474423d80c9b0a81fa028ec3c2407085e..42c2d9e13bb877cd57d957eb45063fceed8490ef 100644 (file)
@@ -51,6 +51,8 @@ enum dm_dig_connect_e {
 };
 
 extern const struct ieee80211_ops rtl_ops;
+
+void rtl_init_sw_leds(struct ieee80211_hw *hw);
 void rtl_fw_cb(const struct firmware *firmware, void *context);
 void rtl_wowlan_fw_cb(const struct firmware *firmware, void *context);
 void rtl_addr_delay(u32 addr);
index 028a7c97bacf655696fed836158156034764f127..9886e719739be0533a0ce24c8792593669e2481d 100644 (file)
@@ -2260,7 +2260,7 @@ int rtl_pci_probe(struct pci_dev *pdev,
                err = -ENODEV;
                goto fail3;
        }
-       rtlpriv->cfg->ops->init_sw_leds(hw);
+       rtl_init_sw_leds(hw);
 
        /*aspm */
        rtl_pci_init_aspm(hw);
index de61c9c0ddec45b14e5847865e48a92b4d6b0e3b..58b1a46066b57d96fa17e9a95186c651e73dd4ac 100644 (file)
@@ -803,17 +803,17 @@ static void _rtl88ee_gen_refresh_led_state(struct ieee80211_hw *hw)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        if (rtlpriv->rtlhal.up_first_time)
                return;
 
        if (ppsc->rfoff_reason == RF_CHANGE_BY_IPS)
-               rtl88ee_sw_led_on(hw, pled0);
+               rtl88ee_sw_led_on(hw, pin0);
        else if (ppsc->rfoff_reason == RF_CHANGE_BY_INIT)
-               rtl88ee_sw_led_on(hw, pled0);
+               rtl88ee_sw_led_on(hw, pin0);
        else
-               rtl88ee_sw_led_off(hw, pled0);
+               rtl88ee_sw_led_off(hw, pin0);
 }
 
 static bool _rtl88ee_init_mac(struct ieee80211_hw *hw)
index 006b979da1c6bf822ddfc7340c8d5b1d9ef1e7a5..b57ba45902f91a346e01d9732541f5de2f0259fb 100644 (file)
@@ -6,23 +6,15 @@
 #include "reg.h"
 #include "led.h"
 
-static void _rtl88ee_init_led(struct ieee80211_hw *hw,
-                             struct rtl_led *pled, enum rtl_led_pin ledpin)
-{
-       pled->hw = hw;
-       pled->ledpin = ledpin;
-       pled->ledon = false;
-}
-
-void rtl88ee_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl88ee_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        u8 ledcfg;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
-               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pled->ledpin);
+               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pin);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -36,21 +28,20 @@ void rtl88ee_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
                break;
        default:
                rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
-                       "switch case %#x not processed\n", pled->ledpin);
+                       "switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = true;
 }
 
-void rtl88ee_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl88ee_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        u8 ledcfg;
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
-               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pled->ledpin);
+               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pin);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -73,34 +64,25 @@ void rtl88ee_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
                break;
        default:
                rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
-                       "switch case %#x not processed\n", pled->ledpin);
+                       "switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = false;
-}
-
-void rtl88ee_init_sw_leds(struct ieee80211_hw *hw)
-{
-       struct rtl_priv *rtlpriv = rtl_priv(hw);
-
-       _rtl88ee_init_led(hw, &rtlpriv->ledctl.sw_led0, LED_PIN_LED0);
-       _rtl88ee_init_led(hw, &rtlpriv->ledctl.sw_led1, LED_PIN_LED1);
 }
 
 static void _rtl88ee_sw_led_control(struct ieee80211_hw *hw,
                                    enum led_ctl_mode ledaction)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        switch (ledaction) {
        case LED_CTL_POWER_ON:
        case LED_CTL_LINK:
        case LED_CTL_NO_LINK:
-               rtl88ee_sw_led_on(hw, pled0);
+               rtl88ee_sw_led_on(hw, pin0);
                break;
        case LED_CTL_POWER_OFF:
-               rtl88ee_sw_led_off(hw, pled0);
+               rtl88ee_sw_led_off(hw, pin0);
                break;
        default:
                break;
index 67d3dc389ba0a37e4886bb668899e31dfeba07c3..e5cc35d4c298b92ea144758760f1a7bfa9da48dc 100644 (file)
@@ -4,9 +4,8 @@
 #ifndef __RTL92CE_LED_H__
 #define __RTL92CE_LED_H__
 
-void rtl88ee_init_sw_leds(struct ieee80211_hw *hw);
-void rtl88ee_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled);
-void rtl88ee_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled);
+void rtl88ee_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin);
+void rtl88ee_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin);
 void rtl88ee_led_control(struct ieee80211_hw *hw, enum led_ctl_mode ledaction);
 
 #endif
index 02b77521b5cdaf9e55996ca270b16c9d200b4822..b77937fe24483264c6bec37a4187040310cca091 100644 (file)
@@ -230,7 +230,6 @@ static struct rtl_hal_ops rtl8188ee_hal_ops = {
        .tx_polling = rtl88ee_tx_polling,
        .enable_hw_sec = rtl88ee_enable_hw_security_config,
        .set_key = rtl88ee_set_key,
-       .init_sw_leds = rtl88ee_init_sw_leds,
        .get_bbreg = rtl88e_phy_query_bb_reg,
        .set_bbreg = rtl88e_phy_set_bb_reg,
        .get_rfreg = rtl88e_phy_query_rf_reg,
index dc480323c9cbff5729d950964737aa60a4d8b653..049c4fe9eeed4bf1234aee1a8c23e365eae028bc 100644 (file)
@@ -639,17 +639,17 @@ static void _rtl92ce_gen_refresh_led_state(struct ieee80211_hw *hw)
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));
        struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        if (rtlpci->up_first_time)
                return;
 
        if (ppsc->rfoff_reason == RF_CHANGE_BY_IPS)
-               rtl92ce_sw_led_on(hw, pled0);
+               rtl92ce_sw_led_on(hw, pin0);
        else if (ppsc->rfoff_reason == RF_CHANGE_BY_INIT)
-               rtl92ce_sw_led_on(hw, pled0);
+               rtl92ce_sw_led_on(hw, pin0);
        else
-               rtl92ce_sw_led_off(hw, pled0);
+               rtl92ce_sw_led_off(hw, pin0);
 }
 
 static bool _rtl92ce_init_mac(struct ieee80211_hw *hw)
index 57132278eb5c6a30b9c36111f11d8e5b58463994..9d3ffed13ba89dce8f51b0c25398c694d92dd79c 100644 (file)
@@ -6,25 +6,17 @@
 #include "reg.h"
 #include "led.h"
 
-static void _rtl92ce_init_led(struct ieee80211_hw *hw,
-                             struct rtl_led *pled, enum rtl_led_pin ledpin)
-{
-       pled->hw = hw;
-       pled->ledpin = ledpin;
-       pled->ledon = false;
-}
-
-void rtl92ce_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl92ce_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        u8 ledcfg;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD, "LedAddr:%X ledpin=%d\n",
-               REG_LEDCFG2, pled->ledpin);
+               REG_LEDCFG2, pin);
 
        ledcfg = rtl_read_byte(rtlpriv, REG_LEDCFG2);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -35,24 +27,22 @@ void rtl92ce_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
                rtl_write_byte(rtlpriv, REG_LEDCFG2, (ledcfg & 0x0f) | BIT(5));
                break;
        default:
-               pr_err("switch case %#x not processed\n",
-                      pled->ledpin);
+               pr_err("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = true;
 }
 
-void rtl92ce_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl92ce_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        u8 ledcfg;
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD, "LedAddr:%X ledpin=%d\n",
-               REG_LEDCFG2, pled->ledpin);
+               REG_LEDCFG2, pin);
 
        ledcfg = rtl_read_byte(rtlpriv, REG_LEDCFG2);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -69,34 +59,25 @@ void rtl92ce_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
                rtl_write_byte(rtlpriv, REG_LEDCFG2, (ledcfg | BIT(3)));
                break;
        default:
-               pr_info("switch case %#x not processed\n", pled->ledpin);
+               pr_info("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = false;
-}
-
-void rtl92ce_init_sw_leds(struct ieee80211_hw *hw)
-{
-       struct rtl_priv *rtlpriv = rtl_priv(hw);
-
-       _rtl92ce_init_led(hw, &rtlpriv->ledctl.sw_led0, LED_PIN_LED0);
-       _rtl92ce_init_led(hw, &rtlpriv->ledctl.sw_led1, LED_PIN_LED1);
 }
 
 static void _rtl92ce_sw_led_control(struct ieee80211_hw *hw,
                                    enum led_ctl_mode ledaction)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        switch (ledaction) {
        case LED_CTL_POWER_ON:
        case LED_CTL_LINK:
        case LED_CTL_NO_LINK:
-               rtl92ce_sw_led_on(hw, pled0);
+               rtl92ce_sw_led_on(hw, pin0);
                break;
        case LED_CTL_POWER_OFF:
-               rtl92ce_sw_led_off(hw, pled0);
+               rtl92ce_sw_led_off(hw, pin0);
                break;
        default:
                break;
index 97ab1e00af5fa3275f69cf0290a4b41871607662..66dc28d620030d4fcd9c9b101385ba991ec54f5e 100644 (file)
@@ -4,9 +4,8 @@
 #ifndef __RTL92CE_LED_H__
 #define __RTL92CE_LED_H__
 
-void rtl92ce_init_sw_leds(struct ieee80211_hw *hw);
-void rtl92ce_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled);
-void rtl92ce_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled);
+void rtl92ce_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin);
+void rtl92ce_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin);
 void rtl92ce_led_control(struct ieee80211_hw *hw, enum led_ctl_mode ledaction);
 
 #endif
index ed68c850f9a2f4c054ead85d80ee7c6b127fde94..e452275d87894dc0e3f67f3aafed937f5e7fdb52 100644 (file)
@@ -207,7 +207,6 @@ static struct rtl_hal_ops rtl8192ce_hal_ops = {
        .tx_polling = rtl92ce_tx_polling,
        .enable_hw_sec = rtl92ce_enable_hw_security_config,
        .set_key = rtl92ce_set_key,
-       .init_sw_leds = rtl92ce_init_sw_leds,
        .get_bbreg = rtl92c_phy_query_bb_reg,
        .set_bbreg = rtl92c_phy_set_bb_reg,
        .set_rfreg = rtl92ce_phy_set_rf_reg,
index 1488f52a2d2f30bc0965b17fa039db28aa0f37d7..bfc07efd0eb0e93acc083ae63573d7144e402ac8 100644 (file)
@@ -6,27 +6,15 @@
 #include "reg.h"
 #include "led.h"
 
-static void _rtl92cu_init_led(struct ieee80211_hw *hw,
-                             struct rtl_led *pled, enum rtl_led_pin ledpin)
-{
-       pled->hw = hw;
-       pled->ledpin = ledpin;
-       pled->ledon = false;
-}
-
-static void rtl92cu_deinit_led(struct rtl_led *pled)
-{
-}
-
-void rtl92cu_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl92cu_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        u8 ledcfg;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD, "LedAddr:%X ledpin=%d\n",
-               REG_LEDCFG2, pled->ledpin);
+               REG_LEDCFG2, pin);
        ledcfg = rtl_read_byte(rtlpriv, REG_LEDCFG2);
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -37,22 +25,20 @@ void rtl92cu_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
                rtl_write_byte(rtlpriv, REG_LEDCFG2, (ledcfg & 0x0f) | BIT(5));
                break;
        default:
-               pr_err("switch case %#x not processed\n",
-                      pled->ledpin);
+               pr_err("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = true;
 }
 
-void rtl92cu_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl92cu_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        u8 ledcfg;
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD, "LedAddr:%X ledpin=%d\n",
-               REG_LEDCFG2, pled->ledpin);
+               REG_LEDCFG2, pin);
        ledcfg = rtl_read_byte(rtlpriv, REG_LEDCFG2);
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -69,36 +55,13 @@ void rtl92cu_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
                rtl_write_byte(rtlpriv, REG_LEDCFG2, (ledcfg | BIT(3)));
                break;
        default:
-               pr_err("switch case %#x not processed\n",
-                      pled->ledpin);
+               pr_err("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = false;
-}
-
-void rtl92cu_init_sw_leds(struct ieee80211_hw *hw)
-{
-       struct rtl_priv *rtlpriv = rtl_priv(hw);
-
-       _rtl92cu_init_led(hw, &rtlpriv->ledctl.sw_led0, LED_PIN_LED0);
-       _rtl92cu_init_led(hw, &rtlpriv->ledctl.sw_led1, LED_PIN_LED1);
-}
-
-void rtl92cu_deinit_sw_leds(struct ieee80211_hw *hw)
-{
-       struct rtl_priv *rtlpriv = rtl_priv(hw);
-
-       rtl92cu_deinit_led(&rtlpriv->ledctl.sw_led0);
-       rtl92cu_deinit_led(&rtlpriv->ledctl.sw_led1);
-}
-
-static void _rtl92cu_sw_led_control(struct ieee80211_hw *hw,
-                                   enum led_ctl_mode ledaction)
-{
 }
 
 void rtl92cu_led_control(struct ieee80211_hw *hw,
-                       enum led_ctl_mode ledaction)
+                        enum led_ctl_mode ledaction)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
@@ -114,5 +77,4 @@ void rtl92cu_led_control(struct ieee80211_hw *hw,
                return;
        }
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD, "ledaction %d\n", ledaction);
-       _rtl92cu_sw_led_control(hw, ledaction);
 }
index 3fc1e7c8f78b447bdf699f559f070392c3af3f8e..8175f8bddd6d8e90516c291bd619225d9ab70bc4 100644 (file)
@@ -4,10 +4,8 @@
 #ifndef __RTL92CU_LED_H__
 #define __RTL92CU_LED_H__
 
-void rtl92cu_init_sw_leds(struct ieee80211_hw *hw);
-void rtl92cu_deinit_sw_leds(struct ieee80211_hw *hw);
-void rtl92cu_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled);
-void rtl92cu_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled);
+void rtl92cu_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin);
+void rtl92cu_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin);
 void rtl92cu_led_control(struct ieee80211_hw *hw, enum led_ctl_mode ledaction);
 
 #endif
index 876c14d46c2fa6564fe434b6c4874754c9ba7940..e6403d4c937c8cd21b9945aa1689b8b55f990dca 100644 (file)
@@ -115,8 +115,6 @@ static struct rtl_hal_ops rtl8192cu_hal_ops = {
        .led_control = rtl92cu_led_control,
        .enable_hw_sec = rtl92cu_enable_hw_security_config,
        .set_key = rtl92c_set_key,
-       .init_sw_leds = rtl92cu_init_sw_leds,
-       .deinit_sw_leds = rtl92cu_deinit_sw_leds,
        .get_bbreg = rtl92c_phy_query_bb_reg,
        .set_bbreg = rtl92c_phy_set_bb_reg,
        .get_rfreg = rtl92cu_phy_query_rf_reg,
index df1e36fbc348ac123d663d6460baf94c5f829b37..31a18bbface94c55e8614ad52a083d50cde10f35 100644 (file)
@@ -595,16 +595,16 @@ static void _rtl92de_gen_refresh_led_state(struct ieee80211_hw *hw)
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));
        struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        if (rtlpci->up_first_time)
                return;
        if (ppsc->rfoff_reason == RF_CHANGE_BY_IPS)
-               rtl92de_sw_led_on(hw, pled0);
+               rtl92de_sw_led_on(hw, pin0);
        else if (ppsc->rfoff_reason == RF_CHANGE_BY_INIT)
-               rtl92de_sw_led_on(hw, pled0);
+               rtl92de_sw_led_on(hw, pin0);
        else
-               rtl92de_sw_led_off(hw, pled0);
+               rtl92de_sw_led_off(hw, pin0);
 }
 
 static bool _rtl92de_init_mac(struct ieee80211_hw *hw)
index 93d1c6a610c3483a1c794b1e6871ed7ea7d2c31a..4bd708570992c0509b13b6a1d8d5bb69480e7c9e 100644 (file)
@@ -6,23 +6,15 @@
 #include "reg.h"
 #include "led.h"
 
-static void _rtl92ce_init_led(struct ieee80211_hw *hw,
-                             struct rtl_led *pled, enum rtl_led_pin ledpin)
-{
-       pled->hw = hw;
-       pled->ledpin = ledpin;
-       pled->ledon = false;
-}
-
-void rtl92de_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl92de_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        u8 ledcfg;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD, "LedAddr:%X ledpin=%d\n",
-               REG_LEDCFG2, pled->ledpin);
+               REG_LEDCFG2, pin);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -44,24 +36,22 @@ void rtl92de_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
                rtl_write_byte(rtlpriv, REG_LEDCFG2, (ledcfg & 0x0f) | BIT(5));
                break;
        default:
-               pr_err("switch case %#x not processed\n",
-                      pled->ledpin);
+               pr_err("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = true;
 }
 
-void rtl92de_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl92de_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        u8 ledcfg;
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD, "LedAddr:%X ledpin=%d\n",
-               REG_LEDCFG2, pled->ledpin);
+               REG_LEDCFG2, pin);
 
        ledcfg = rtl_read_byte(rtlpriv, REG_LEDCFG2);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -78,35 +68,25 @@ void rtl92de_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
                rtl_write_byte(rtlpriv, REG_LEDCFG2, (ledcfg | BIT(3)));
                break;
        default:
-               pr_err("switch case %#x not processed\n",
-                      pled->ledpin);
+               pr_err("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = false;
-}
-
-void rtl92de_init_sw_leds(struct ieee80211_hw *hw)
-{
-       struct rtl_priv *rtlpriv = rtl_priv(hw);
-
-       _rtl92ce_init_led(hw, &rtlpriv->ledctl.sw_led0, LED_PIN_LED0);
-       _rtl92ce_init_led(hw, &rtlpriv->ledctl.sw_led1, LED_PIN_LED1);
 }
 
 static void _rtl92ce_sw_led_control(struct ieee80211_hw *hw,
                                    enum led_ctl_mode ledaction)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        switch (ledaction) {
        case LED_CTL_POWER_ON:
        case LED_CTL_LINK:
        case LED_CTL_NO_LINK:
-               rtl92de_sw_led_on(hw, pled0);
+               rtl92de_sw_led_on(hw, pin0);
                break;
        case LED_CTL_POWER_OFF:
-               rtl92de_sw_led_off(hw, pled0);
+               rtl92de_sw_led_off(hw, pin0);
                break;
        default:
                break;
index 7599c7e5ecc3f73fe99bdb914a16e66892a28449..33e544ad6f99b7740dbe6815344737feaa11a72f 100644 (file)
@@ -4,9 +4,8 @@
 #ifndef __RTL92CE_LED_H__
 #define __RTL92CE_LED_H__
 
-void rtl92de_init_sw_leds(struct ieee80211_hw *hw);
-void rtl92de_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled);
-void rtl92de_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled);
+void rtl92de_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin);
+void rtl92de_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin);
 void rtl92de_led_control(struct ieee80211_hw *hw, enum led_ctl_mode ledaction);
 
 #endif
index a74724c971b9db9e90ea4592036602e2e1a2aa28..11f319c97124af76e7797562afac09b526e0974d 100644 (file)
@@ -220,7 +220,6 @@ static struct rtl_hal_ops rtl8192de_hal_ops = {
        .tx_polling = rtl92de_tx_polling,
        .enable_hw_sec = rtl92de_enable_hw_security_config,
        .set_key = rtl92de_set_key,
-       .init_sw_leds = rtl92de_init_sw_leds,
        .get_bbreg = rtl92d_phy_query_bb_reg,
        .set_bbreg = rtl92d_phy_set_bb_reg,
        .get_rfreg = rtl92d_phy_query_rf_reg,
index 47d8999e31c00c207edf8ce439ecab78f31f5485..ebb7abd0c9adf7adb8eeb8e5761dd3b10c2b6176 100644 (file)
@@ -714,17 +714,17 @@ static void _rtl92ee_gen_refresh_led_state(struct ieee80211_hw *hw)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        if (rtlpriv->rtlhal.up_first_time)
                return;
 
        if (ppsc->rfoff_reason == RF_CHANGE_BY_IPS)
-               rtl92ee_sw_led_on(hw, pled0);
+               rtl92ee_sw_led_on(hw, pin0);
        else if (ppsc->rfoff_reason == RF_CHANGE_BY_INIT)
-               rtl92ee_sw_led_on(hw, pled0);
+               rtl92ee_sw_led_on(hw, pin0);
        else
-               rtl92ee_sw_led_off(hw, pled0);
+               rtl92ee_sw_led_off(hw, pin0);
 }
 
 static bool _rtl92ee_init_mac(struct ieee80211_hw *hw)
index fb4ea3a8481f8f021ae34bccf80eecae8f148c9a..a9b5e3c884ee444c212920a8847146177f9c7c33 100644 (file)
@@ -6,23 +6,15 @@
 #include "reg.h"
 #include "led.h"
 
-static void _rtl92ee_init_led(struct ieee80211_hw *hw,
-                             struct rtl_led *pled, enum rtl_led_pin ledpin)
-{
-       pled->hw = hw;
-       pled->ledpin = ledpin;
-       pled->ledon = false;
-}
-
-void rtl92ee_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl92ee_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        u32 ledcfg;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
-               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pled->ledpin);
+               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pin);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -39,21 +31,20 @@ void rtl92ee_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
                break;
        default:
                rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
-                       "switch case %#x not processed\n", pled->ledpin);
+                       "switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = true;
 }
 
-void rtl92ee_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl92ee_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        u32 ledcfg;
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
-               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pled->ledpin);
+               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pin);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -69,34 +60,25 @@ void rtl92ee_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
                break;
        default:
                rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
-                       "switch case %#x not processed\n", pled->ledpin);
+                       "switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = false;
-}
-
-void rtl92ee_init_sw_leds(struct ieee80211_hw *hw)
-{
-       struct rtl_priv *rtlpriv = rtl_priv(hw);
-
-       _rtl92ee_init_led(hw, &rtlpriv->ledctl.sw_led0, LED_PIN_LED0);
-       _rtl92ee_init_led(hw, &rtlpriv->ledctl.sw_led1, LED_PIN_LED1);
 }
 
 static void _rtl92ee_sw_led_control(struct ieee80211_hw *hw,
                                    enum led_ctl_mode ledaction)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        switch (ledaction) {
        case LED_CTL_POWER_ON:
        case LED_CTL_LINK:
        case LED_CTL_NO_LINK:
-               rtl92ee_sw_led_on(hw, pled0);
+               rtl92ee_sw_led_on(hw, pin0);
                break;
        case LED_CTL_POWER_OFF:
-               rtl92ee_sw_led_off(hw, pled0);
+               rtl92ee_sw_led_off(hw, pin0);
                break;
        default:
                break;
index 6d775e14846fcd12eeb2cff3034804a261f77a2b..08b8ff328b632c5e8653b7e7efd1062447b05b91 100644 (file)
@@ -4,9 +4,8 @@
 #ifndef __RTL92E_LED_H__
 #define __RTL92E_LED_H__
 
-void rtl92ee_init_sw_leds(struct ieee80211_hw *hw);
-void rtl92ee_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled);
-void rtl92ee_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled);
+void rtl92ee_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin);
+void rtl92ee_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin);
 void rtl92ee_led_control(struct ieee80211_hw *hw, enum led_ctl_mode ledaction);
 
 #endif
index 7a16563b3a5dac2679a2bc136d44833cdc8cac51..616a47d8d97a28d17a071b316acc4e0e0f0614ed 100644 (file)
@@ -220,7 +220,6 @@ static struct rtl_hal_ops rtl8192ee_hal_ops = {
        .tx_polling = rtl92ee_tx_polling,
        .enable_hw_sec = rtl92ee_enable_hw_security_config,
        .set_key = rtl92ee_set_key,
-       .init_sw_leds = rtl92ee_init_sw_leds,
        .get_bbreg = rtl92ee_phy_query_bb_reg,
        .set_bbreg = rtl92ee_phy_set_bb_reg,
        .get_rfreg = rtl92ee_phy_query_rf_reg,
index 4ae8f69c64f9c39e7fd4d2bcf54665c57ca67f99..e5775b94f04eeb286f6856691f1f6f297dd7c37e 100644 (file)
@@ -731,12 +731,12 @@ static void _rtl92se_macconfig_before_fwdownload(struct ieee80211_hw *hw)
        /* After MACIO reset,we must refresh LED state. */
        if ((ppsc->rfoff_reason == RF_CHANGE_BY_IPS) ||
           (ppsc->rfoff_reason == 0)) {
-               struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+               enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
                enum rf_pwrstate rfpwr_state_toset;
                rfpwr_state_toset = _rtl92se_rf_onoff_detect(hw);
 
                if (rfpwr_state_toset == ERFON)
-                       rtl92se_sw_led_on(hw, pled0);
+                       rtl92se_sw_led_on(hw, pin0);
        }
 }
 
@@ -1371,15 +1371,15 @@ static void _rtl92se_gen_refreshledstate(struct ieee80211_hw *hw)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        if (rtlpci->up_first_time)
                return;
 
        if (rtlpriv->psc.rfoff_reason == RF_CHANGE_BY_IPS)
-               rtl92se_sw_led_on(hw, pled0);
+               rtl92se_sw_led_on(hw, pin0);
        else
-               rtl92se_sw_led_off(hw, pled0);
+               rtl92se_sw_led_off(hw, pin0);
 }
 
 
index ecbf425f679f8868298d93013aad96318c8ed48e..db16a325c5e6e514016753ebf54a2d6d69cd6642 100644 (file)
@@ -6,33 +6,17 @@
 #include "reg.h"
 #include "led.h"
 
-static void _rtl92se_init_led(struct ieee80211_hw *hw,
-                             struct rtl_led *pled, enum rtl_led_pin ledpin)
-{
-       pled->hw = hw;
-       pled->ledpin = ledpin;
-       pled->ledon = false;
-}
-
-void rtl92se_init_sw_leds(struct ieee80211_hw *hw)
-{
-       struct rtl_priv *rtlpriv = rtl_priv(hw);
-
-       _rtl92se_init_led(hw, &rtlpriv->ledctl.sw_led0, LED_PIN_LED0);
-       _rtl92se_init_led(hw, &rtlpriv->ledctl.sw_led1, LED_PIN_LED1);
-}
-
-void rtl92se_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl92se_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        u8 ledcfg;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD, "LedAddr:%X ledpin=%d\n",
-               LEDCFG, pled->ledpin);
+               LEDCFG, pin);
 
        ledcfg = rtl_read_byte(rtlpriv, LEDCFG);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -42,14 +26,12 @@ void rtl92se_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
                rtl_write_byte(rtlpriv, LEDCFG, ledcfg & 0x0f);
                break;
        default:
-               pr_err("switch case %#x not processed\n",
-                      pled->ledpin);
+               pr_err("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = true;
 }
 
-void rtl92se_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl92se_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        struct rtl_priv *rtlpriv;
        u8 ledcfg;
@@ -58,11 +40,11 @@ void rtl92se_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
        if (!rtlpriv || rtlpriv->max_fw_size)
                return;
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD, "LedAddr:%X ledpin=%d\n",
-               LEDCFG, pled->ledpin);
+               LEDCFG, pin);
 
        ledcfg = rtl_read_byte(rtlpriv, LEDCFG);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -77,27 +59,25 @@ void rtl92se_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
                rtl_write_byte(rtlpriv, LEDCFG, (ledcfg | BIT(3)));
                break;
        default:
-               pr_err("switch case %#x not processed\n",
-                      pled->ledpin);
+               pr_err("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = false;
 }
 
 static void _rtl92se_sw_led_control(struct ieee80211_hw *hw,
                                    enum led_ctl_mode ledaction)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        switch (ledaction) {
        case LED_CTL_POWER_ON:
        case LED_CTL_LINK:
        case LED_CTL_NO_LINK:
-               rtl92se_sw_led_on(hw, pled0);
+               rtl92se_sw_led_on(hw, pin0);
                break;
        case LED_CTL_POWER_OFF:
-               rtl92se_sw_led_off(hw, pled0);
+               rtl92se_sw_led_off(hw, pin0);
                break;
        default:
                break;
index c9e481a8d943a9f9fb74139638b2d582c9cb1cc7..43fcc3c77bc174d137791a520f01c7d10c71d790 100644 (file)
@@ -4,9 +4,8 @@
 #ifndef __REALTEK_PCI92SE_LED_H__
 #define __REALTEK_PCI92SE_LED_H__
 
-void rtl92se_init_sw_leds(struct ieee80211_hw *hw);
-void rtl92se_sw_led_on(struct ieee80211_hw *hw,        struct rtl_led *pled);
-void rtl92se_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled);
+void rtl92se_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin);
+void rtl92se_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin);
 void rtl92se_led_control(struct ieee80211_hw *hw, enum led_ctl_mode ledaction);
 
 #endif
index 6d352a3161b8f79822708e5cd5f513e27075ef06..30bce381c3bb709915ee2109d8733b7f04c797ad 100644 (file)
@@ -260,7 +260,6 @@ static struct rtl_hal_ops rtl8192se_hal_ops = {
        .tx_polling = rtl92se_tx_polling,
        .enable_hw_sec = rtl92se_enable_hw_security_config,
        .set_key = rtl92se_set_key,
-       .init_sw_leds = rtl92se_init_sw_leds,
        .get_bbreg = rtl92s_phy_query_bb_reg,
        .set_bbreg = rtl92s_phy_set_bb_reg,
        .get_rfreg = rtl92s_phy_query_rf_reg,
index 965d98b9b09f78de2fd6be1e9fd06d5d447dae36..d26d4c4314a3d6d20e661004f764d0417eb8e1de 100644 (file)
@@ -643,17 +643,17 @@ static void _rtl8723e_gen_refresh_led_state(struct ieee80211_hw *hw)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        if (rtlpriv->rtlhal.up_first_time)
                return;
 
        if (ppsc->rfoff_reason == RF_CHANGE_BY_IPS)
-               rtl8723e_sw_led_on(hw, pled0);
+               rtl8723e_sw_led_on(hw, pin0);
        else if (ppsc->rfoff_reason == RF_CHANGE_BY_INIT)
-               rtl8723e_sw_led_on(hw, pled0);
+               rtl8723e_sw_led_on(hw, pin0);
        else
-               rtl8723e_sw_led_off(hw, pled0);
+               rtl8723e_sw_led_off(hw, pin0);
 }
 
 static bool _rtl8712e_init_mac(struct ieee80211_hw *hw)
index 7fab02e01a8c4c4b5175feb0d005037703220922..90d3f6ae82d5e374747e11cd855b8d8a75263a62 100644 (file)
@@ -6,23 +6,15 @@
 #include "reg.h"
 #include "led.h"
 
-static void _rtl8723e_init_led(struct ieee80211_hw *hw,
-                              struct rtl_led *pled, enum rtl_led_pin ledpin)
-{
-       pled->hw = hw;
-       pled->ledpin = ledpin;
-       pled->ledon = false;
-}
-
-void rtl8723e_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl8723e_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        u8 ledcfg;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
-               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pled->ledpin);
+               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pin);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -36,24 +28,22 @@ void rtl8723e_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
                rtl_write_byte(rtlpriv, REG_LEDCFG1, ledcfg & 0x10);
                break;
        default:
-               pr_err("switch case %#x not processed\n",
-                      pled->ledpin);
+               pr_err("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = true;
 }
 
-void rtl8723e_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl8723e_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        u8 ledcfg;
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
-               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pled->ledpin);
+               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pin);
 
        ledcfg = rtl_read_byte(rtlpriv, REG_LEDCFG2);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -77,35 +67,25 @@ void rtl8723e_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
 
                break;
        default:
-               pr_err("switch case %#x not processed\n",
-                      pled->ledpin);
+               pr_err("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = false;
-}
-
-void rtl8723e_init_sw_leds(struct ieee80211_hw *hw)
-{
-       struct rtl_priv *rtlpriv = rtl_priv(hw);
-
-       _rtl8723e_init_led(hw, &rtlpriv->ledctl.sw_led0, LED_PIN_LED0);
-       _rtl8723e_init_led(hw, &rtlpriv->ledctl.sw_led1, LED_PIN_LED1);
 }
 
 static void _rtl8723e_sw_led_control(struct ieee80211_hw *hw,
                                     enum led_ctl_mode ledaction)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        switch (ledaction) {
        case LED_CTL_POWER_ON:
        case LED_CTL_LINK:
        case LED_CTL_NO_LINK:
-               rtl8723e_sw_led_on(hw, pled0);
+               rtl8723e_sw_led_on(hw, pin0);
                break;
        case LED_CTL_POWER_OFF:
-               rtl8723e_sw_led_off(hw, pled0);
+               rtl8723e_sw_led_off(hw, pin0);
                break;
        default:
                break;
index 9f85845d23cd33948bd584184d9dce85a9b7736a..6db5290da8060a7d99cf434cb6e435a7ef0721e6 100644 (file)
@@ -4,9 +4,8 @@
 #ifndef __RTL92CE_LED_H__
 #define __RTL92CE_LED_H__
 
-void rtl8723e_init_sw_leds(struct ieee80211_hw *hw);
-void rtl8723e_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled);
-void rtl8723e_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled);
+void rtl8723e_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin);
+void rtl8723e_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin);
 void rtl8723e_led_control(struct ieee80211_hw *hw, enum led_ctl_mode ledaction);
 
 #endif
index 7828acb1de3f2f47d1e6c21f075913a6fffe2fbb..c821436a199166a0a1498841b1d9eea4820ead96 100644 (file)
@@ -223,7 +223,6 @@ static struct rtl_hal_ops rtl8723e_hal_ops = {
        .tx_polling = rtl8723e_tx_polling,
        .enable_hw_sec = rtl8723e_enable_hw_security_config,
        .set_key = rtl8723e_set_key,
-       .init_sw_leds = rtl8723e_init_sw_leds,
        .get_bbreg = rtl8723_phy_query_bb_reg,
        .set_bbreg = rtl8723_phy_set_bb_reg,
        .get_rfreg = rtl8723e_phy_query_rf_reg,
index 0ba3bbed6ed360784173f007d5203363f74ceb66..15575644551f0d8a84e787317b1605de5f03ac62 100644 (file)
@@ -793,17 +793,17 @@ static void _rtl8723be_gen_refresh_led_state(struct ieee80211_hw *hw)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        if (rtlpriv->rtlhal.up_first_time)
                return;
 
        if (ppsc->rfoff_reason == RF_CHANGE_BY_IPS)
-               rtl8723be_sw_led_on(hw, pled0);
+               rtl8723be_sw_led_on(hw, pin0);
        else if (ppsc->rfoff_reason == RF_CHANGE_BY_INIT)
-               rtl8723be_sw_led_on(hw, pled0);
+               rtl8723be_sw_led_on(hw, pin0);
        else
-               rtl8723be_sw_led_off(hw, pled0);
+               rtl8723be_sw_led_off(hw, pin0);
 }
 
 static bool _rtl8723be_init_mac(struct ieee80211_hw *hw)
index 3954624ab314f766079f722bd320286d69c85c84..462fe1d0262b2817d996a8382e71e66c5086ab26 100644 (file)
@@ -6,23 +6,15 @@
 #include "reg.h"
 #include "led.h"
 
-static void _rtl8723be_init_led(struct ieee80211_hw *hw,  struct rtl_led *pled,
-                               enum rtl_led_pin ledpin)
-{
-       pled->hw = hw;
-       pled->ledpin = ledpin;
-       pled->ledon = false;
-}
-
-void rtl8723be_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl8723be_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        u8 ledcfg;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
-               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pled->ledpin);
+               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pin);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -35,24 +27,22 @@ void rtl8723be_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
                rtl_write_byte(rtlpriv, REG_LEDCFG1, ledcfg & 0x10);
                break;
        default:
-               pr_err("switch case %#x not processed\n",
-                      pled->ledpin);
+               pr_err("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = true;
 }
 
-void rtl8723be_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl8723be_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        u8 ledcfg;
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
-               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pled->ledpin);
+               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pin);
 
        ledcfg = rtl_read_byte(rtlpriv, REG_LEDCFG2);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -76,35 +66,25 @@ void rtl8723be_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
 
                break;
        default:
-               pr_err("switch case %#x not processed\n",
-                      pled->ledpin);
+               pr_err("switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = false;
-}
-
-void rtl8723be_init_sw_leds(struct ieee80211_hw *hw)
-{
-       struct rtl_priv *rtlpriv = rtl_priv(hw);
-
-       _rtl8723be_init_led(hw, &rtlpriv->ledctl.sw_led0, LED_PIN_LED0);
-       _rtl8723be_init_led(hw, &rtlpriv->ledctl.sw_led1, LED_PIN_LED1);
 }
 
 static void _rtl8723be_sw_led_control(struct ieee80211_hw *hw,
                                      enum led_ctl_mode ledaction)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
 
        switch (ledaction) {
        case LED_CTL_POWER_ON:
        case LED_CTL_LINK:
        case LED_CTL_NO_LINK:
-               rtl8723be_sw_led_on(hw, pled0);
+               rtl8723be_sw_led_on(hw, pin0);
                break;
        case LED_CTL_POWER_OFF:
-               rtl8723be_sw_led_off(hw, pled0);
+               rtl8723be_sw_led_off(hw, pin0);
                break;
        default:
                break;
index 8ac59374b632c33fe08b59f335bfacc906c4177d..3ca9277152f7d62afb15778732706b07b834865d 100644 (file)
@@ -4,9 +4,8 @@
 #ifndef __RTL8723BE_LED_H__
 #define __RTL8723BE_LED_H__
 
-void rtl8723be_init_sw_leds(struct ieee80211_hw *hw);
-void rtl8723be_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled);
-void rtl8723be_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled);
+void rtl8723be_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin);
+void rtl8723be_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin);
 void rtl8723be_led_control(struct ieee80211_hw *hw,
                           enum led_ctl_mode ledaction);
 
index d220e8955e372fc423b7b8c93b0d533e9d8b26aa..43b611d5288d960d1f85b5a505387758ff7da11e 100644 (file)
@@ -227,7 +227,6 @@ static struct rtl_hal_ops rtl8723be_hal_ops = {
        .tx_polling = rtl8723be_tx_polling,
        .enable_hw_sec = rtl8723be_enable_hw_security_config,
        .set_key = rtl8723be_set_key,
-       .init_sw_leds = rtl8723be_init_sw_leds,
        .get_bbreg = rtl8723_phy_query_bb_reg,
        .set_bbreg = rtl8723_phy_set_bb_reg,
        .get_rfreg = rtl8723be_phy_query_rf_reg,
index a7e3250957dc991d8e7bcf888949b95e1c53678a..3f8f6da33b12dcada076636c389059e091e4d78a 100644 (file)
@@ -869,7 +869,7 @@ static void _rtl8821ae_gen_refresh_led_state(struct ieee80211_hw *hw)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw));
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
        struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
 
        if (rtlpriv->rtlhal.up_first_time)
@@ -877,19 +877,19 @@ static void _rtl8821ae_gen_refresh_led_state(struct ieee80211_hw *hw)
 
        if (ppsc->rfoff_reason == RF_CHANGE_BY_IPS)
                if (rtlhal->hw_type == HARDWARE_TYPE_RTL8812AE)
-                       rtl8812ae_sw_led_on(hw, pled0);
+                       rtl8812ae_sw_led_on(hw, pin0);
                else
-                       rtl8821ae_sw_led_on(hw, pled0);
+                       rtl8821ae_sw_led_on(hw, pin0);
        else if (ppsc->rfoff_reason == RF_CHANGE_BY_INIT)
                if (rtlhal->hw_type == HARDWARE_TYPE_RTL8812AE)
-                       rtl8812ae_sw_led_on(hw, pled0);
+                       rtl8812ae_sw_led_on(hw, pin0);
                else
-                       rtl8821ae_sw_led_on(hw, pled0);
+                       rtl8821ae_sw_led_on(hw, pin0);
        else
                if (rtlhal->hw_type == HARDWARE_TYPE_RTL8812AE)
-                       rtl8812ae_sw_led_off(hw, pled0);
+                       rtl8812ae_sw_led_off(hw, pin0);
                else
-                       rtl8821ae_sw_led_off(hw, pled0);
+                       rtl8821ae_sw_led_off(hw, pin0);
 }
 
 static bool _rtl8821ae_init_mac(struct ieee80211_hw *hw)
index 7d6fb134c10f1c7f3cd701ee75d039f8e64ac7c0..fb003f9ce1ac192fe236803c0fed7689ddec5802 100644 (file)
@@ -6,24 +6,15 @@
 #include "reg.h"
 #include "led.h"
 
-static void _rtl8821ae_init_led(struct ieee80211_hw *hw,
-                               struct rtl_led *pled,
-                               enum rtl_led_pin ledpin)
-{
-       pled->hw = hw;
-       pled->ledpin = ledpin;
-       pled->ledon = false;
-}
-
-void rtl8821ae_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl8821ae_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        u8 ledcfg;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
-               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pled->ledpin);
+               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pin);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -38,19 +29,18 @@ void rtl8821ae_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
                break;
        default:
                rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
-                       "switch case %#x not processed\n", pled->ledpin);
+                       "switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = true;
 }
 
-void rtl8812ae_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl8812ae_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        u16     ledreg = REG_LEDCFG1;
        u8      ledcfg = 0;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_LED0:
                ledreg = REG_LEDCFG1;
                break;
@@ -66,27 +56,26 @@ void rtl8812ae_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
                "In SwLedOn, LedAddr:%X LEDPIN=%d\n",
-               ledreg, pled->ledpin);
+               ledreg, pin);
 
        ledcfg =  rtl_read_byte(rtlpriv, ledreg);
        ledcfg |= BIT(5); /*Set 0x4c[21]*/
        ledcfg &= ~(BIT(7) | BIT(6) | BIT(3) | BIT(2) | BIT(1) | BIT(0));
                /*Clear 0x4c[23:22] and 0x4c[19:16]*/
        rtl_write_byte(rtlpriv, ledreg, ledcfg); /*SW control led0 on.*/
-       pled->ledon = true;
 }
 
-void rtl8821ae_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl8821ae_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        u8 ledcfg;
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
-               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pled->ledpin);
+               "LedAddr:%X ledpin=%d\n", REG_LEDCFG2, pin);
 
        ledcfg = rtl_read_byte(rtlpriv, REG_LEDCFG2);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_GPIO0:
                break;
        case LED_PIN_LED0:
@@ -110,18 +99,17 @@ void rtl8821ae_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
                break;
        default:
                rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
-                       "switch case %#x not processed\n", pled->ledpin);
+                       "switch case %#x not processed\n", pin);
                break;
        }
-       pled->ledon = false;
 }
 
-void rtl8812ae_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
+void rtl8812ae_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin)
 {
        u16 ledreg = REG_LEDCFG1;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
 
-       switch (pled->ledpin) {
+       switch (pin) {
        case LED_PIN_LED0:
                ledreg = REG_LEDCFG1;
                break;
@@ -137,7 +125,7 @@ void rtl8812ae_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
 
        rtl_dbg(rtlpriv, COMP_LED, DBG_LOUD,
                "In SwLedOff,LedAddr:%X LEDPIN=%d\n",
-               ledreg, pled->ledpin);
+               ledreg, pin);
        /*Open-drain arrangement for controlling the LED*/
        if (rtlpriv->ledctl.led_opendrain) {
                u8 ledcfg = rtl_read_byte(rtlpriv, ledreg);
@@ -152,23 +140,13 @@ void rtl8812ae_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
        } else {
                rtl_write_byte(rtlpriv, ledreg, 0x28);
        }
-
-       pled->ledon = false;
-}
-
-void rtl8821ae_init_sw_leds(struct ieee80211_hw *hw)
-{
-       struct rtl_priv *rtlpriv = rtl_priv(hw);
-
-       _rtl8821ae_init_led(hw, &rtlpriv->ledctl.sw_led0, LED_PIN_LED0);
-       _rtl8821ae_init_led(hw, &rtlpriv->ledctl.sw_led1, LED_PIN_LED1);
 }
 
 static void _rtl8821ae_sw_led_control(struct ieee80211_hw *hw,
                                      enum led_ctl_mode ledaction)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
-       struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0;
+       enum rtl_led_pin pin0 = rtlpriv->ledctl.sw_led0;
        struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
 
        switch (ledaction) {
@@ -176,15 +154,15 @@ static void _rtl8821ae_sw_led_control(struct ieee80211_hw *hw,
        case LED_CTL_LINK:
        case LED_CTL_NO_LINK:
                if (rtlhal->hw_type == HARDWARE_TYPE_RTL8812AE)
-                       rtl8812ae_sw_led_on(hw, pled0);
+                       rtl8812ae_sw_led_on(hw, pin0);
                else
-                       rtl8821ae_sw_led_on(hw, pled0);
+                       rtl8821ae_sw_led_on(hw, pin0);
                break;
        case LED_CTL_POWER_OFF:
                if (rtlhal->hw_type == HARDWARE_TYPE_RTL8812AE)
-                       rtl8812ae_sw_led_off(hw, pled0);
+                       rtl8812ae_sw_led_off(hw, pin0);
                else
-                       rtl8821ae_sw_led_off(hw, pled0);
+                       rtl8821ae_sw_led_off(hw, pin0);
                break;
        default:
                break;
index 249a37a8d9db43f499de0c7e77c81603a09ce818..76d5c0b0e39e6e830b8500db1da37a5bbc67ac6f 100644 (file)
@@ -4,11 +4,10 @@
 #ifndef __RTL8821AE_LED_H__
 #define __RTL8821AE_LED_H__
 
-void rtl8821ae_init_sw_leds(struct ieee80211_hw *hw);
-void rtl8821ae_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled);
-void rtl8812ae_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled);
-void rtl8821ae_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled);
-void rtl8812ae_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled);
+void rtl8821ae_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin);
+void rtl8812ae_sw_led_on(struct ieee80211_hw *hw, enum rtl_led_pin pin);
+void rtl8821ae_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin);
+void rtl8812ae_sw_led_off(struct ieee80211_hw *hw, enum rtl_led_pin pin);
 void rtl8821ae_led_control(struct ieee80211_hw *hw,
                           enum led_ctl_mode ledaction);
 
index 950542a24e314ac2e805f458c9298ff81278a9e0..0bca542e103f030f49c443c822d22e77bfd6469e 100644 (file)
@@ -269,7 +269,6 @@ static struct rtl_hal_ops rtl8821ae_hal_ops = {
        .tx_polling = rtl8821ae_tx_polling,
        .enable_hw_sec = rtl8821ae_enable_hw_security_config,
        .set_key = rtl8821ae_set_key,
-       .init_sw_leds = rtl8821ae_init_sw_leds,
        .get_bbreg = rtl8821ae_phy_query_bb_reg,
        .set_bbreg = rtl8821ae_phy_set_bb_reg,
        .get_rfreg = rtl8821ae_phy_query_rf_reg,
index ab675703eaf507fe780ba5798367b30d6febb6fc..96207b237bf0316d9dabb4dc87236e956daec7bd 100644 (file)
@@ -1068,7 +1068,7 @@ int rtl_usb_probe(struct usb_interface *intf,
                pr_err("Can't init_sw_vars\n");
                goto error_out;
        }
-       rtlpriv->cfg->ops->init_sw_leds(hw);
+       rtl_init_sw_leds(hw);
 
        err = ieee80211_register_hw(hw);
        if (err) {
@@ -1117,7 +1117,6 @@ void rtl_usb_disconnect(struct usb_interface *intf)
        rtl_usb_deinit(hw);
        rtl_deinit_core(hw);
        kfree(rtlpriv->usb_data);
-       rtlpriv->cfg->ops->deinit_sw_leds(hw);
        rtlpriv->cfg->ops->deinit_sw_vars(hw);
        _rtl_usb_io_handler_release(hw);
        usb_put_dev(rtlusb->udev);
index a16b779080cb751a6094df1de9b3dfb580f8760d..5b4979771dbfbb8ee3d50c9ff335672e62995794 100644 (file)
@@ -1070,18 +1070,10 @@ struct rtl_probe_rsp {
        struct rtl_info_element info_element[];
 } __packed;
 
-/*LED related.*/
-/*ledpin Identify how to implement this SW led.*/
-struct rtl_led {
-       void *hw;
-       enum rtl_led_pin ledpin;
-       bool ledon;
-};
-
 struct rtl_led_ctl {
        bool led_opendrain;
-       struct rtl_led sw_led0;
-       struct rtl_led sw_led1;
+       enum rtl_led_pin sw_led0;
+       enum rtl_led_pin sw_led1;
 };
 
 struct rtl_qos_parameters {
@@ -2287,8 +2279,6 @@ struct rtl_hal_ops {
        void (*set_key)(struct ieee80211_hw *hw, u32 key_index,
                        u8 *macaddr, bool is_group, u8 enc_algo,
                        bool is_wepkey, bool clear_all);
-       void (*init_sw_leds)(struct ieee80211_hw *hw);
-       void (*deinit_sw_leds)(struct ieee80211_hw *hw);
        u32 (*get_bbreg)(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask);
        void (*set_bbreg)(struct ieee80211_hw *hw, u32 regaddr, u32 bitmask,
                          u32 data);