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

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
......@@ -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;
}
......@@ -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);
......
......@@ -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;
......
......@@ -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
......@@ -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,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment