mwifiex: get rid of drv_info* adapter variables
We can avoid drv_info_dump and drv_info_size adapter variables. This info can be passed to mwifiex_upload_device_dump() as parameters Signed-off-by: Xinming Hu <huxm@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
fb45bd0c6d
commit
d27121fca1
|
@ -1026,7 +1026,7 @@ void mwifiex_multi_chan_resync(struct mwifiex_adapter *adapter)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(mwifiex_multi_chan_resync);
|
EXPORT_SYMBOL_GPL(mwifiex_multi_chan_resync);
|
||||||
|
|
||||||
void mwifiex_drv_info_dump(struct mwifiex_adapter *adapter)
|
int mwifiex_drv_info_dump(struct mwifiex_adapter *adapter, void **drv_info)
|
||||||
{
|
{
|
||||||
void *p;
|
void *p;
|
||||||
char drv_version[64];
|
char drv_version[64];
|
||||||
|
@ -1036,21 +1036,17 @@ void mwifiex_drv_info_dump(struct mwifiex_adapter *adapter)
|
||||||
int i, idx;
|
int i, idx;
|
||||||
struct netdev_queue *txq;
|
struct netdev_queue *txq;
|
||||||
struct mwifiex_debug_info *debug_info;
|
struct mwifiex_debug_info *debug_info;
|
||||||
|
void *drv_info_dump;
|
||||||
if (adapter->drv_info_dump) {
|
|
||||||
vfree(adapter->drv_info_dump);
|
|
||||||
adapter->drv_info_dump = NULL;
|
|
||||||
adapter->drv_info_size = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
mwifiex_dbg(adapter, MSG, "===mwifiex driverinfo dump start===\n");
|
mwifiex_dbg(adapter, MSG, "===mwifiex driverinfo dump start===\n");
|
||||||
|
|
||||||
adapter->drv_info_dump = vzalloc(MWIFIEX_DRV_INFO_SIZE_MAX);
|
/* memory allocate here should be free in mwifiex_upload_device_dump*/
|
||||||
|
drv_info_dump = vzalloc(MWIFIEX_DRV_INFO_SIZE_MAX);
|
||||||
|
|
||||||
if (!adapter->drv_info_dump)
|
if (!drv_info_dump)
|
||||||
return;
|
return 0;
|
||||||
|
|
||||||
p = (char *)(adapter->drv_info_dump);
|
p = (char *)(drv_info_dump);
|
||||||
p += sprintf(p, "driver_name = " "\"mwifiex\"\n");
|
p += sprintf(p, "driver_name = " "\"mwifiex\"\n");
|
||||||
|
|
||||||
mwifiex_drv_get_driver_version(adapter, drv_version,
|
mwifiex_drv_get_driver_version(adapter, drv_version,
|
||||||
|
@ -1134,18 +1130,20 @@ void mwifiex_drv_info_dump(struct mwifiex_adapter *adapter)
|
||||||
kfree(debug_info);
|
kfree(debug_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
adapter->drv_info_size = p - adapter->drv_info_dump;
|
|
||||||
mwifiex_dbg(adapter, MSG, "===mwifiex driverinfo dump end===\n");
|
mwifiex_dbg(adapter, MSG, "===mwifiex driverinfo dump end===\n");
|
||||||
|
*drv_info = drv_info_dump;
|
||||||
|
return p - drv_info_dump;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(mwifiex_drv_info_dump);
|
EXPORT_SYMBOL_GPL(mwifiex_drv_info_dump);
|
||||||
|
|
||||||
void mwifiex_upload_device_dump(struct mwifiex_adapter *adapter)
|
void mwifiex_upload_device_dump(struct mwifiex_adapter *adapter, void *drv_info,
|
||||||
|
int drv_info_size)
|
||||||
{
|
{
|
||||||
u8 idx, *dump_data, *fw_dump_ptr;
|
u8 idx, *dump_data, *fw_dump_ptr;
|
||||||
u32 dump_len;
|
u32 dump_len;
|
||||||
|
|
||||||
dump_len = (strlen("========Start dump driverinfo========\n") +
|
dump_len = (strlen("========Start dump driverinfo========\n") +
|
||||||
adapter->drv_info_size +
|
drv_info_size +
|
||||||
strlen("\n========End dump========\n"));
|
strlen("\n========End dump========\n"));
|
||||||
|
|
||||||
for (idx = 0; idx < adapter->num_mem_types; idx++) {
|
for (idx = 0; idx < adapter->num_mem_types; idx++) {
|
||||||
|
@ -1175,8 +1173,8 @@ void mwifiex_upload_device_dump(struct mwifiex_adapter *adapter)
|
||||||
|
|
||||||
strcpy(fw_dump_ptr, "========Start dump driverinfo========\n");
|
strcpy(fw_dump_ptr, "========Start dump driverinfo========\n");
|
||||||
fw_dump_ptr += strlen("========Start dump driverinfo========\n");
|
fw_dump_ptr += strlen("========Start dump driverinfo========\n");
|
||||||
memcpy(fw_dump_ptr, adapter->drv_info_dump, adapter->drv_info_size);
|
memcpy(fw_dump_ptr, drv_info, drv_info_size);
|
||||||
fw_dump_ptr += adapter->drv_info_size;
|
fw_dump_ptr += drv_info_size;
|
||||||
strcpy(fw_dump_ptr, "\n========End dump========\n");
|
strcpy(fw_dump_ptr, "\n========End dump========\n");
|
||||||
fw_dump_ptr += strlen("\n========End dump========\n");
|
fw_dump_ptr += strlen("\n========End dump========\n");
|
||||||
|
|
||||||
|
@ -1214,18 +1212,12 @@ done:
|
||||||
struct memory_type_mapping *entry =
|
struct memory_type_mapping *entry =
|
||||||
&adapter->mem_type_mapping_tbl[idx];
|
&adapter->mem_type_mapping_tbl[idx];
|
||||||
|
|
||||||
if (entry->mem_ptr) {
|
|
||||||
vfree(entry->mem_ptr);
|
vfree(entry->mem_ptr);
|
||||||
entry->mem_ptr = NULL;
|
entry->mem_ptr = NULL;
|
||||||
}
|
|
||||||
entry->mem_size = 0;
|
entry->mem_size = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (adapter->drv_info_dump) {
|
vfree(drv_info);
|
||||||
vfree(adapter->drv_info_dump);
|
|
||||||
adapter->drv_info_dump = NULL;
|
|
||||||
adapter->drv_info_size = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(mwifiex_upload_device_dump);
|
EXPORT_SYMBOL_GPL(mwifiex_upload_device_dump);
|
||||||
|
|
||||||
|
|
|
@ -994,8 +994,6 @@ struct mwifiex_adapter {
|
||||||
u8 key_api_major_ver, key_api_minor_ver;
|
u8 key_api_major_ver, key_api_minor_ver;
|
||||||
struct memory_type_mapping *mem_type_mapping_tbl;
|
struct memory_type_mapping *mem_type_mapping_tbl;
|
||||||
u8 num_mem_types;
|
u8 num_mem_types;
|
||||||
void *drv_info_dump;
|
|
||||||
u32 drv_info_size;
|
|
||||||
bool scan_chan_gap_enabled;
|
bool scan_chan_gap_enabled;
|
||||||
struct sk_buff_head rx_data_q;
|
struct sk_buff_head rx_data_q;
|
||||||
bool mfg_mode;
|
bool mfg_mode;
|
||||||
|
@ -1641,8 +1639,9 @@ void mwifiex_hist_data_add(struct mwifiex_private *priv,
|
||||||
u8 mwifiex_adjust_data_rate(struct mwifiex_private *priv,
|
u8 mwifiex_adjust_data_rate(struct mwifiex_private *priv,
|
||||||
u8 rx_rate, u8 ht_info);
|
u8 rx_rate, u8 ht_info);
|
||||||
|
|
||||||
void mwifiex_drv_info_dump(struct mwifiex_adapter *adapter);
|
int mwifiex_drv_info_dump(struct mwifiex_adapter *adapter, void **drv_info);
|
||||||
void mwifiex_upload_device_dump(struct mwifiex_adapter *adapter);
|
void mwifiex_upload_device_dump(struct mwifiex_adapter *adapter, void *drv_info,
|
||||||
|
int drv_info_size);
|
||||||
void *mwifiex_alloc_dma_align_buf(int rx_len, gfp_t flags);
|
void *mwifiex_alloc_dma_align_buf(int rx_len, gfp_t flags);
|
||||||
void mwifiex_queue_main_work(struct mwifiex_adapter *adapter);
|
void mwifiex_queue_main_work(struct mwifiex_adapter *adapter);
|
||||||
int mwifiex_get_wakeup_reason(struct mwifiex_private *priv, u16 action,
|
int mwifiex_get_wakeup_reason(struct mwifiex_private *priv, u16 action,
|
||||||
|
|
|
@ -2715,9 +2715,12 @@ static void mwifiex_pcie_fw_dump(struct mwifiex_adapter *adapter)
|
||||||
|
|
||||||
static void mwifiex_pcie_device_dump_work(struct mwifiex_adapter *adapter)
|
static void mwifiex_pcie_device_dump_work(struct mwifiex_adapter *adapter)
|
||||||
{
|
{
|
||||||
mwifiex_drv_info_dump(adapter);
|
int drv_info_size;
|
||||||
|
void *drv_info;
|
||||||
|
|
||||||
|
drv_info_size = mwifiex_drv_info_dump(adapter, &drv_info);
|
||||||
mwifiex_pcie_fw_dump(adapter);
|
mwifiex_pcie_fw_dump(adapter);
|
||||||
mwifiex_upload_device_dump(adapter);
|
mwifiex_upload_device_dump(adapter, drv_info, drv_info_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long iface_work_flags;
|
static unsigned long iface_work_flags;
|
||||||
|
|
|
@ -2548,13 +2548,15 @@ done:
|
||||||
static void mwifiex_sdio_device_dump_work(struct mwifiex_adapter *adapter)
|
static void mwifiex_sdio_device_dump_work(struct mwifiex_adapter *adapter)
|
||||||
{
|
{
|
||||||
struct sdio_mmc_card *card = adapter->card;
|
struct sdio_mmc_card *card = adapter->card;
|
||||||
|
int drv_info_size;
|
||||||
|
void *drv_info;
|
||||||
|
|
||||||
mwifiex_drv_info_dump(adapter);
|
drv_info_size = mwifiex_drv_info_dump(adapter, &drv_info);
|
||||||
if (card->fw_dump_enh)
|
if (card->fw_dump_enh)
|
||||||
mwifiex_sdio_generic_fw_dump(adapter);
|
mwifiex_sdio_generic_fw_dump(adapter);
|
||||||
else
|
else
|
||||||
mwifiex_sdio_fw_dump(adapter);
|
mwifiex_sdio_fw_dump(adapter);
|
||||||
mwifiex_upload_device_dump(adapter);
|
mwifiex_upload_device_dump(adapter, drv_info, drv_info_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mwifiex_sdio_work(struct work_struct *work)
|
static void mwifiex_sdio_work(struct work_struct *work)
|
||||||
|
|
Loading…
Reference in New Issue