Commit de11f709 authored by Ajay Singh's avatar Ajay Singh Committed by Greg Kroah-Hartman
Browse files

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: default avatarAjay Singh <ajay.kathat@microchip.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 540aa64d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -159,9 +159,9 @@ static void deinit_irq(struct net_device *dev)

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) {
		wilc->mac_status = status;
		complete(&wilc->sync_event);
+1 −1
Original line number Diff line number Diff line
@@ -155,7 +155,7 @@ struct wilc_vif {
struct wilc {
	const struct wilc_hif_func *hif_func;
	int io_type;
	int mac_status;
	s8 mac_status;
	struct gpio_desc *gpio_irq;
	bool initialized;
	int dev_irq_num;
+14 −9
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ enum cfg_cmd_type {
};

struct wilc_mac_cfg {
	int mac_status;
	u8 mac_address[7];
	u8 firmware_version[129];
	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)
{
	struct wilc_mac_cfg *pd = &g_mac;
	u32 wid, len;

	wid = info[0] | (info[1] << 8);

	len = info[2];

	if (len == 1 && wid == WID_STATUS)
		pd->mac_status = info[3];
	if (len == 1 && wid == WID_STATUS) {
		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;
	int i, ret = 0;

	if (wid == WID_STATUS) {
		*((u32 *)buffer) = g_mac.mac_status;
		return 4;
	}

	i = 0;
	if (type == CFG_BYTE_CMD) {
		do {