[PATCH 1/7] smd: add do while loops to init and prepare macros

Kalle Valo kvalo at qca.qualcomm.com
Thu May 16 08:42:06 EDT 2013


Now callers are forced to use semicolon in the end.

Signed-off-by: Kalle Valo <kvalo at qca.qualcomm.com>
---
 smd.c |   74 ++++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 39 insertions(+), 35 deletions(-)

diff --git a/smd.c b/smd.c
index 95fbef8..9ea9f7b 100644
--- a/smd.c
+++ b/smd.c
@@ -44,14 +44,18 @@ int wcn36xx_smd_send_and_wait(struct wcn36xx *wcn, size_t len)
 }
 
 #define INIT_HAL_MSG(msg_body, type) \
-	memset(&msg_body, 0, sizeof(msg_body)); \
-	msg_body.header.msg_type = type; \
-	msg_body.header.msg_version = WCN36XX_HAL_MSG_VERSION0; \
-	msg_body.header.len = sizeof(msg_body);
+	do {								\
+		memset(&msg_body, 0, sizeof(msg_body));			\
+		msg_body.header.msg_type = type;			\
+		msg_body.header.msg_version = WCN36XX_HAL_MSG_VERSION0; \
+		msg_body.header.len = sizeof(msg_body);			\
+	} while (0)							\
 
 #define PREPARE_HAL_BUF(send_buf, msg_body) \
-	memset(send_buf, 0, msg_body.header.len); \
-	memcpy(send_buf, &msg_body, sizeof(msg_body));
+	do {							\
+		memset(send_buf, 0, msg_body.header.len);	\
+		memcpy(send_buf, &msg_body, sizeof(msg_body));	\
+	} while (0)						\
 
 int wcn36xx_smd_rsp_status_check(void *buf, size_t len)
 {
@@ -79,7 +83,7 @@ int wcn36xx_smd_load_nv(struct wcn36xx *wcn)
 
 	nv_d = (struct nv_data *)wcn->nv->data;
 	fw_size = wcn->nv->size;
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_DOWNLOAD_NV_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_DOWNLOAD_NV_REQ);
 
 	msg_body.header.len += WCN36XX_NV_FRAGMENT_SIZE;
 
@@ -122,12 +126,12 @@ int wcn36xx_smd_start(struct wcn36xx *wcn)
 {
 	struct wcn36xx_hal_mac_start_req_msg msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_START_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_START_REQ);
 
 	msg_body.params.type = DRIVER_TYPE_PRODUCTION;
 	msg_body.params.len = 0;
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
@@ -151,11 +155,11 @@ int wcn36xx_smd_init_scan(struct wcn36xx *wcn)
 {
 	struct wcn36xx_hal_init_scan_req_msg msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_INIT_SCAN_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_INIT_SCAN_REQ);
 
 	msg_body.mode = HAL_SYS_MODE_SCAN;
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
@@ -164,11 +168,11 @@ int wcn36xx_smd_start_scan(struct wcn36xx *wcn, u8 ch)
 {
 	struct wcn36xx_hal_start_scan_req_msg msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_START_SCAN_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_START_SCAN_REQ);
 
 	msg_body.scan_channel = ch;
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
@@ -176,11 +180,11 @@ int wcn36xx_smd_end_scan(struct wcn36xx *wcn, u8 ch)
 {
 	struct wcn36xx_hal_end_scan_req_msg msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_END_SCAN_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_END_SCAN_REQ);
 
 	msg_body.scan_channel = ch;
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
@@ -188,18 +192,18 @@ int wcn36xx_smd_finish_scan(struct wcn36xx *wcn)
 {
 	struct wcn36xx_hal_finish_scan_req_msg msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_FINISH_SCAN_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_FINISH_SCAN_REQ);
 
 	msg_body.mode = HAL_SYS_MODE_SCAN;
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
 int wcn36xx_smd_update_scan_params(struct wcn36xx *wcn){
 	struct wcn36xx_hal_update_scan_params_req msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_UPDATE_SCAN_PARAM_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_UPDATE_SCAN_PARAM_REQ);
 
 	// TODO read this from config
 	msg_body.dot11d_enabled	= 0;
@@ -211,7 +215,7 @@ int wcn36xx_smd_update_scan_params(struct wcn36xx *wcn){
 	msg_body.passive_max_ch_time = 110;
 	msg_body.state = 0;
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
@@ -229,12 +233,12 @@ int wcn36xx_smd_add_sta_self(struct wcn36xx *wcn, struct mac_address addr, u32 s
 {
 	struct wcn36xx_hal_add_sta_self_req msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_ADD_STA_SELF_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_ADD_STA_SELF_REQ);
 
 	memcpy(&msg_body.self_addr, &addr, ETH_ALEN);
 	msg_body.status = status;
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
@@ -242,11 +246,11 @@ int wcn36xx_smd_delete_sta(struct wcn36xx *wcn)
 {
 	struct wcn36xx_hal_delete_sta_req_msg msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_DELETE_STA_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_DELETE_STA_REQ);
 
 	msg_body.sta_index = 1;
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 
@@ -255,7 +259,7 @@ int wcn36xx_smd_join(struct wcn36xx *wcn, u8 *bssid, u8 *vif, u8 ch)
 {
 	struct wcn36xx_hal_join_req_msg msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_JOIN_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_JOIN_REQ);
 
 
 	memcpy(&msg_body.bssid, bssid, ETH_ALEN);
@@ -264,7 +268,7 @@ int wcn36xx_smd_join(struct wcn36xx *wcn, u8 *bssid, u8 *vif, u8 ch)
 	msg_body.link_state = WCN36XX_HAL_LINK_PREASSOC_STATE;
 
 	msg_body.max_tx_power = 0xbf;
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
@@ -272,13 +276,13 @@ int wcn36xx_smd_set_link_st(struct wcn36xx *wcn, u8 *bssid, u8 *sta_mac, enum wc
 {
 	struct wcn36xx_hal_set_link_state_req_msg msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_SET_LINK_ST_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_SET_LINK_ST_REQ);
 
 	memcpy(&msg_body.bssid, bssid, ETH_ALEN);
 	memcpy(&msg_body.self_mac_addr, sta_mac, ETH_ALEN);
 	msg_body.state = state;
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
@@ -287,7 +291,7 @@ int wcn36xx_smd_config_sta(struct wcn36xx *wcn, u8 *bssid, u16 ass_id, u8 *sta_m
 {
 	struct wcn36xx_hal_config_sta_req_msg msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_CONFIG_STA_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_CONFIG_STA_REQ);
 
 	memcpy(&msg_body.u.sta_params.bssid, bssid, ETH_ALEN);
 	memcpy(&msg_body.u.sta_params.mac, sta_mac, ETH_ALEN);
@@ -305,7 +309,7 @@ int wcn36xx_smd_config_sta(struct wcn36xx *wcn, u8 *bssid, u16 ass_id, u8 *sta_m
 		sizeof(wcn->supported_rates));
 	msg_body.u.sta_params.sta_index = 1;
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
@@ -327,7 +331,7 @@ int wcn36xx_smd_config_bss(struct wcn36xx *wcn, bool sta_mode, u8 *bssid, u8 upd
 {
 	struct wcn36xx_hal_config_bss_req_msg msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_CONFIG_BSS_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_CONFIG_BSS_REQ);
 
 	if(sta_mode) {
 		memcpy(&msg_body.u.bss_params.bssid, bssid, ETH_ALEN);
@@ -392,7 +396,7 @@ int wcn36xx_smd_config_bss(struct wcn36xx *wcn, bool sta_mode, u8 *bssid, u8 upd
 
 	memcpy(&msg_body.u.bss_params.sta.supported_rates, &wcn->supported_rates, sizeof(wcn->supported_rates));
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
@@ -400,17 +404,17 @@ int wcn36xx_smd_delete_bss(struct wcn36xx *wcn)
 {
 	struct wcn36xx_hal_delete_bss_req_msg  msg_body;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_DELETE_BSS_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_DELETE_BSS_REQ);
 
 	msg_body.bss_index = 0;
 
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 }
 int wcn36xx_smd_send_beacon(struct wcn36xx *wcn, struct sk_buff *skb_beacon, u16 tim_off, u16 p2p_off){
 	struct wcn36xx_hal_send_beacon_req_msg msg_body;
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_SEND_BEACON_REQ)
+	INIT_HAL_MSG(msg_body, WCN36XX_HAL_SEND_BEACON_REQ);
 
 	// TODO need to find out why this is needed?
 	msg_body.beacon_length = skb_beacon->len + 6;
@@ -428,7 +432,7 @@ int wcn36xx_smd_send_beacon(struct wcn36xx *wcn, struct sk_buff *skb_beacon, u16
 	// TODO need to find out why this is needed?
 	msg_body.tim_ie_offset = tim_off+4;
 	msg_body.p2p_ie_offset = p2p_off;
-	PREPARE_HAL_BUF(wcn->smd_buf, msg_body)
+	PREPARE_HAL_BUF(wcn->smd_buf, msg_body);
 
 	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
 };




More information about the wcn36xx mailing list