staging: wilc1000: refactor code to remove 'mac_status' from 'wilc_mac_cfg' struct
Refactor the code by removing use of 'mac_status' from 'wilc_mac_cfg' and only have the string type configuration values in 'wilc_mac_cfg' struct. Now fetch the value 'WID_STATUS' configuration from 'g_cfg_byte' array. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
540aa64d4e
commit
de11f709df
@ -159,9 +159,9 @@ static void deinit_irq(struct net_device *dev)
|
|||||||
|
|
||||||
void wilc_mac_indicate(struct wilc *wilc)
|
void wilc_mac_indicate(struct wilc *wilc)
|
||||||
{
|
{
|
||||||
int status;
|
s8 status;
|
||||||
|
|
||||||
wilc_wlan_cfg_get_val(WID_STATUS, (unsigned char *)&status, 4);
|
wilc_wlan_cfg_get_val(WID_STATUS, &status, 1);
|
||||||
if (wilc->mac_status == MAC_STATUS_INIT) {
|
if (wilc->mac_status == MAC_STATUS_INIT) {
|
||||||
wilc->mac_status = status;
|
wilc->mac_status = status;
|
||||||
complete(&wilc->sync_event);
|
complete(&wilc->sync_event);
|
||||||
|
@ -155,7 +155,7 @@ struct wilc_vif {
|
|||||||
struct wilc {
|
struct wilc {
|
||||||
const struct wilc_hif_func *hif_func;
|
const struct wilc_hif_func *hif_func;
|
||||||
int io_type;
|
int io_type;
|
||||||
int mac_status;
|
s8 mac_status;
|
||||||
struct gpio_desc *gpio_irq;
|
struct gpio_desc *gpio_irq;
|
||||||
bool initialized;
|
bool initialized;
|
||||||
int dev_irq_num;
|
int dev_irq_num;
|
||||||
|
@ -18,7 +18,6 @@ enum cfg_cmd_type {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct wilc_mac_cfg {
|
struct wilc_mac_cfg {
|
||||||
int mac_status;
|
|
||||||
u8 mac_address[7];
|
u8 mac_address[7];
|
||||||
u8 firmware_version[129];
|
u8 firmware_version[129];
|
||||||
u8 assoc_rsp[256];
|
u8 assoc_rsp[256];
|
||||||
@ -251,15 +250,26 @@ static void wilc_wlan_parse_response_frame(u8 *info, int size)
|
|||||||
|
|
||||||
static void wilc_wlan_parse_info_frame(u8 *info)
|
static void wilc_wlan_parse_info_frame(u8 *info)
|
||||||
{
|
{
|
||||||
struct wilc_mac_cfg *pd = &g_mac;
|
|
||||||
u32 wid, len;
|
u32 wid, len;
|
||||||
|
|
||||||
wid = info[0] | (info[1] << 8);
|
wid = info[0] | (info[1] << 8);
|
||||||
|
|
||||||
len = info[2];
|
len = info[2];
|
||||||
|
|
||||||
if (len == 1 && wid == WID_STATUS)
|
if (len == 1 && wid == WID_STATUS) {
|
||||||
pd->mac_status = info[3];
|
int i = 0;
|
||||||
|
|
||||||
|
do {
|
||||||
|
if (g_cfg_byte[i].id == WID_NIL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (g_cfg_byte[i].id == wid) {
|
||||||
|
g_cfg_byte[i].val = info[3];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
} while (1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************
|
/********************************************
|
||||||
@ -323,11 +333,6 @@ int wilc_wlan_cfg_get_wid_value(u16 wid, u8 *buffer, u32 buffer_size)
|
|||||||
u32 type = (wid >> 12) & 0xf;
|
u32 type = (wid >> 12) & 0xf;
|
||||||
int i, ret = 0;
|
int i, ret = 0;
|
||||||
|
|
||||||
if (wid == WID_STATUS) {
|
|
||||||
*((u32 *)buffer) = g_mac.mac_status;
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
if (type == CFG_BYTE_CMD) {
|
if (type == CFG_BYTE_CMD) {
|
||||||
do {
|
do {
|
||||||
|
Loading…
Reference in New Issue
Block a user