staging: r8188eu: use a local buffer for efuse data
authorMartin Kaiser <martin@kaiser.cx>
Sat, 9 Jul 2022 17:09:51 +0000 (19:09 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 11 Jul 2022 08:06:45 +0000 (10:06 +0200)
The efuse_eeprom_data array in struct eeprom_priv is used only by
ReadAdapterInfo8188EU. We can remove efuse_eeprom_data and use a local
buffer instead.

Use EFUSE_MAP_LEN_88E as buffer size. Its value is the same as
HWSET_MAX_SIZE_512. The functions that access the buffer use
EFUSE_MAP_LEN_88E for its size.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20220709171000.180481-6-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/hal/usb_halinit.c
drivers/staging/r8188eu/include/rtw_eeprom.h

index 8b9c3de..32f2531 100644 (file)
@@ -929,6 +929,7 @@ void ReadAdapterInfo8188EU(struct adapter *Adapter)
 {
        struct eeprom_priv *eeprom = &Adapter->eeprompriv;
        struct led_priv *ledpriv = &Adapter->ledpriv;
+       u8 efuse_buf[EFUSE_MAP_LEN_88E] __aligned(4);
        u8 eeValue;
        int res;
 
@@ -941,24 +942,24 @@ void ReadAdapterInfo8188EU(struct adapter *Adapter)
 
        if (!(eeValue & BOOT_FROM_EEPROM)) {
                if (eeprom->bautoload_fail_flag) {
-                       memset(eeprom->efuse_eeprom_data, 0xFF, EFUSE_MAP_LEN_88E);
+                       memset(efuse_buf, 0xFF, sizeof(efuse_buf));
                } else {
                        rtl8188e_EfusePowerSwitch(Adapter, true);
-                       rtl8188e_ReadEFuse(Adapter, 0, EFUSE_MAP_LEN_88E, eeprom->efuse_eeprom_data);
+                       rtl8188e_ReadEFuse(Adapter, 0, EFUSE_MAP_LEN_88E, efuse_buf);
                        rtl8188e_EfusePowerSwitch(Adapter, false);
                }
        }
 
        /* parse the eeprom/efuse content */
-       Hal_EfuseParseIDCode88E(Adapter, eeprom->efuse_eeprom_data);
-       Hal_EfuseParseMACAddr_8188EU(Adapter, eeprom->efuse_eeprom_data, eeprom->bautoload_fail_flag);
-
-       Hal_ReadPowerSavingMode88E(Adapter, eeprom->efuse_eeprom_data, eeprom->bautoload_fail_flag);
-       Hal_ReadTxPowerInfo88E(Adapter, eeprom->efuse_eeprom_data, eeprom->bautoload_fail_flag);
-       rtl8188e_EfuseParseChnlPlan(Adapter, eeprom->efuse_eeprom_data, eeprom->bautoload_fail_flag);
-       Hal_EfuseParseXtal_8188E(Adapter, eeprom->efuse_eeprom_data, eeprom->bautoload_fail_flag);
-       Hal_ReadAntennaDiversity88E(Adapter, eeprom->efuse_eeprom_data, eeprom->bautoload_fail_flag);
-       Hal_ReadThermalMeter_88E(Adapter, eeprom->efuse_eeprom_data, eeprom->bautoload_fail_flag);
+       Hal_EfuseParseIDCode88E(Adapter, efuse_buf);
+       Hal_EfuseParseMACAddr_8188EU(Adapter, efuse_buf, eeprom->bautoload_fail_flag);
+
+       Hal_ReadPowerSavingMode88E(Adapter, efuse_buf, eeprom->bautoload_fail_flag);
+       Hal_ReadTxPowerInfo88E(Adapter, efuse_buf, eeprom->bautoload_fail_flag);
+       rtl8188e_EfuseParseChnlPlan(Adapter, efuse_buf, eeprom->bautoload_fail_flag);
+       Hal_EfuseParseXtal_8188E(Adapter, efuse_buf, eeprom->bautoload_fail_flag);
+       Hal_ReadAntennaDiversity88E(Adapter, efuse_buf, eeprom->bautoload_fail_flag);
+       Hal_ReadThermalMeter_88E(Adapter, efuse_buf, eeprom->bautoload_fail_flag);
 
        ledpriv->bRegUseLed = true;
 }
index 0a87924..94d735b 100644 (file)
@@ -7,12 +7,9 @@
 #include "osdep_service.h"
 #include "drv_types.h"
 
-#define        HWSET_MAX_SIZE_512              512
-
 struct eeprom_priv {
        u8              bautoload_fail_flag;
        u8              mac_addr[ETH_ALEN] __aligned(2); /* PermanentAddress */
-       u8              efuse_eeprom_data[HWSET_MAX_SIZE_512] __aligned(4);
 };
 
 #endif  /* __RTL871X_EEPROM_H__ */