Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ef7e012f authored by Glen Lee's avatar Glen Lee Committed by Greg Kroah-Hartman
Browse files

staging: wilc1000: move wilc_send_config_pkt to wilc_wlan.c



This patch moves the function wilc_send_config_pkt to wilc_wlan.c which
handles transport since the purpose of the function is sending/getting of
config information. coreconfiguator.[ch] will be rename with frame.[ch] later.
The print codes of the function is removed also and they will be implemented
with netdev_xx print format later.
struct wid need to be moved to wilc_wlan_if.h which defines configure
informations.

Signed-off-by: default avatarGlen Lee <glen.lee@atmel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 32cee999
Loading
Loading
Loading
Loading
+0 −59
Original line number Diff line number Diff line
@@ -433,62 +433,3 @@ s32 wilc_dealloc_assoc_resp_info(tstrConnectRespInfo *pstrConnectRespInfo)

	return s32Error;
}

/**
 *  @brief              sends certain Configuration Packet based on the input WIDs pstrWIDs
 *  using driver config layer
 *
 *  @details
 *  @param[in]  pstrWIDs WIDs to be sent in the configuration packet
 *  @param[in]  u32WIDsCount number of WIDs to be sent in the configuration packet
 *  @param[out]         pu8RxResp The received Packet Response
 *  @param[out]         ps32RxRespLen Length of the received Packet Response
 *  @return     Error code indicating success/failure
 *  @note
 *  @author	mabubakr
 *  @date		1 Mar 2012
 *  @version	1.0
 */
s32 wilc_send_config_pkt(struct wilc *wilc, u8 mode, struct wid *wids,
			 u32 count, u32 drv)
{
	s32 counter = 0, ret = 0;

	if (mode == GET_CFG) {
		for (counter = 0; counter < count; counter++) {
			PRINT_INFO(CORECONFIG_DBG, "Sending CFG packet [%d][%d]\n", !counter,
				   (counter == count - 1));
			if (!wilc_wlan_cfg_get(wilc, !counter,
					       wids[counter].id,
					       (counter == count - 1),
					       drv)) {
				ret = -ETIMEDOUT;
				printk("[Sendconfigpkt]Get Timed out\n");
				break;
			}
		}
		counter = 0;
		for (counter = 0; counter < count; counter++) {
			wids[counter].size = wilc_wlan_cfg_get_val(
					wids[counter].id,
					wids[counter].val,
					wids[counter].size);
		}
	} else if (mode == SET_CFG) {
		for (counter = 0; counter < count; counter++) {
			PRINT_D(CORECONFIG_DBG, "Sending config SET PACKET WID:%x\n", wids[counter].id);
			if (!wilc_wlan_cfg_set(wilc, !counter,
					       wids[counter].id,
					       wids[counter].val,
					       wids[counter].size,
					       (counter == count - 1),
					       drv)) {
				ret = -ETIMEDOUT;
				printk("[Sendconfigpkt]Set Timed out\n");
				break;
			}
		}
	}

	return ret;
}
+0 −9
Original line number Diff line number Diff line
@@ -70,13 +70,6 @@ typedef enum {
	CONNECT_STS_FORCE_16_BIT = 0xFFFF
} tenuConnectSts;

struct wid {
	u16 id;
	enum wid_type type;
	s32 size;
	s8 *val;
};

typedef struct {
	u8 u8Full;
	u8 u8Index;
@@ -127,8 +120,6 @@ typedef struct {
	size_t ie_len;
} tstrDisconnectNotifInfo;

s32 wilc_send_config_pkt(struct wilc *wilc, u8 mode, struct wid *wids,
			 u32 count, u32 drv);
s32 wilc_parse_network_info(u8 *pu8MsgBuffer, tstrNetworkInfo **ppstrNetworkInfo);
s32 wilc_dealloc_network_info(tstrNetworkInfo *pstrNetworkInfo);

+39 −0
Original line number Diff line number Diff line
@@ -1439,6 +1439,45 @@ int wilc_wlan_cfg_get_val(u32 wid, u8 *buffer, u32 buffer_size)
	return ret;
}

s32 wilc_send_config_pkt(struct wilc *wilc, u8 mode, struct wid *wids,
			 u32 count, u32 drv)
{
	s32 counter = 0, ret = 0;

	if (mode == GET_CFG) {
		for (counter = 0; counter < count; counter++) {
			if (!wilc_wlan_cfg_get(wilc, !counter,
					       wids[counter].id,
					       (counter == count - 1),
					       drv)) {
				ret = -ETIMEDOUT;
				break;
			}
		}
		counter = 0;
		for (counter = 0; counter < count; counter++) {
			wids[counter].size = wilc_wlan_cfg_get_val(
					wids[counter].id,
					wids[counter].val,
					wids[counter].size);
		}
	} else if (mode == SET_CFG) {
		for (counter = 0; counter < count; counter++) {
			if (!wilc_wlan_cfg_set(wilc, !counter,
					       wids[counter].id,
					       wids[counter].val,
					       wids[counter].size,
					       (counter == count - 1),
					       drv)) {
				ret = -ETIMEDOUT;
				break;
			}
		}
	}

	return ret;
}

static u32 init_chip(struct net_device *dev)
{
	u32 chipid;
+2 −0
Original line number Diff line number Diff line
@@ -299,4 +299,6 @@ void host_sleep_notify(struct wilc *wilc);
extern bool wilc_enable_ps;
void chip_allow_sleep(struct wilc *wilc);
void chip_wakeup(struct wilc *wilc);
s32 wilc_send_config_pkt(struct wilc *wilc, u8 mode, struct wid *wids,
			 u32 count, u32 drv);
#endif
+7 −0
Original line number Diff line number Diff line
@@ -300,6 +300,13 @@ enum wid_type {
	WID_TYPE_FORCE_32BIT	= 0xFFFFFFFF
};

struct wid {
	u16 id;
	enum wid_type type;
	s32 size;
	s8 *val;
};

typedef enum {
	WID_NIL				= 0xffff,