wifi: ath12k: Use initializers for QMI message buffers
authorJeff Johnson <quic_jjohnson@quicinc.com>
Thu, 11 Jan 2024 18:05:32 +0000 (10:05 -0800)
committerKalle Valo <quic_kvalo@quicinc.com>
Sun, 14 Jan 2024 15:00:50 +0000 (17:00 +0200)
Currently most of the QMI messaging functions use memset() to zero out
the QMI message buffers. Prefer to use a {} initializer to allow the
compiler to generate optimized code and avoid the function call
overhead.

No functional changes, compile tested only.

Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240111-qmi-cleanup-v2-3-53343af953d5@quicinc.com
drivers/net/wireless/ath/ath12k/qmi.c

index 1f2df2e3fbce571b596b19db7644c3dedabaf5ec..c4c7f31a91cddc7c4646faf86bee2ff0f7175f28 100644 (file)
@@ -1919,14 +1919,11 @@ static void ath12k_host_cap_parse_mlo(struct qmi_wlanfw_host_cap_req_msg_v01 *re
 
 static int ath12k_qmi_host_cap_send(struct ath12k_base *ab)
 {
-       struct qmi_wlanfw_host_cap_req_msg_v01 req;
-       struct qmi_wlanfw_host_cap_resp_msg_v01 resp;
+       struct qmi_wlanfw_host_cap_req_msg_v01 req = {};
+       struct qmi_wlanfw_host_cap_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        int ret = 0;
 
-       memset(&req, 0, sizeof(req));
-       memset(&resp, 0, sizeof(resp));
-
        req.num_clients_valid = 1;
        req.num_clients = 1;
        req.mem_cfg_mode = ab->qmi.target_mem_mode;
@@ -2070,7 +2067,7 @@ resp_out:
 static int ath12k_qmi_respond_fw_mem_request(struct ath12k_base *ab)
 {
        struct qmi_wlanfw_respond_mem_req_msg_v01 *req;
-       struct qmi_wlanfw_respond_mem_resp_msg_v01 resp;
+       struct qmi_wlanfw_respond_mem_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        int ret = 0, i;
        bool delayed;
@@ -2079,8 +2076,6 @@ static int ath12k_qmi_respond_fw_mem_request(struct ath12k_base *ab)
        if (!req)
                return -ENOMEM;
 
-       memset(&resp, 0, sizeof(resp));
-
        /* Some targets by default request a block of big contiguous
         * DMA memory, it's hard to allocate from kernel. So host returns
         * failure to firmware and firmware then request multiple blocks of
@@ -2090,7 +2085,6 @@ static int ath12k_qmi_respond_fw_mem_request(struct ath12k_base *ab)
                delayed = true;
                ath12k_dbg(ab, ATH12K_DBG_QMI, "qmi delays mem_request %d\n",
                           ab->qmi.mem_seg_count);
-               memset(req, 0, sizeof(*req));
        } else {
                delayed = false;
                req->mem_seg_len = ab->qmi.mem_seg_count;
@@ -2211,17 +2205,14 @@ static int ath12k_qmi_alloc_target_mem_chunk(struct ath12k_base *ab)
 
 static int ath12k_qmi_request_target_cap(struct ath12k_base *ab)
 {
-       struct qmi_wlanfw_cap_req_msg_v01 req;
-       struct qmi_wlanfw_cap_resp_msg_v01 resp;
+       struct qmi_wlanfw_cap_req_msg_v01 req = {};
+       struct qmi_wlanfw_cap_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        unsigned int board_id = ATH12K_BOARD_ID_DEFAULT;
        int ret = 0;
        int r;
        int i;
 
-       memset(&req, 0, sizeof(req));
-       memset(&resp, 0, sizeof(resp));
-
        ret = qmi_txn_init(&ab->qmi.handle, &txn,
                           qmi_wlanfw_cap_resp_msg_v01_ei, &resp);
        if (ret < 0)
@@ -2314,7 +2305,7 @@ static int ath12k_qmi_load_file_target_mem(struct ath12k_base *ab,
                                           const u8 *data, u32 len, u8 type)
 {
        struct qmi_wlanfw_bdf_download_req_msg_v01 *req;
-       struct qmi_wlanfw_bdf_download_resp_msg_v01 resp;
+       struct qmi_wlanfw_bdf_download_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        const u8 *temp = data;
        int ret;
@@ -2323,7 +2314,6 @@ static int ath12k_qmi_load_file_target_mem(struct ath12k_base *ab,
        req = kzalloc(sizeof(*req), GFP_KERNEL);
        if (!req)
                return -ENOMEM;
-       memset(&resp, 0, sizeof(resp));
 
        while (remaining) {
                req->valid = 1;
@@ -2549,14 +2539,11 @@ static void ath12k_qmi_m3_free(struct ath12k_base *ab)
 static int ath12k_qmi_wlanfw_m3_info_send(struct ath12k_base *ab)
 {
        struct m3_mem_region *m3_mem = &ab->qmi.m3_mem;
-       struct qmi_wlanfw_m3_info_req_msg_v01 req;
-       struct qmi_wlanfw_m3_info_resp_msg_v01 resp;
+       struct qmi_wlanfw_m3_info_req_msg_v01 req = {};
+       struct qmi_wlanfw_m3_info_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        int ret = 0;
 
-       memset(&req, 0, sizeof(req));
-       memset(&resp, 0, sizeof(resp));
-
        ret = ath12k_qmi_m3_load(ab);
        if (ret) {
                ath12k_err(ab, "failed to load m3 firmware: %d", ret);
@@ -2601,14 +2588,11 @@ out:
 static int ath12k_qmi_wlanfw_mode_send(struct ath12k_base *ab,
                                       u32 mode)
 {
-       struct qmi_wlanfw_wlan_mode_req_msg_v01 req;
-       struct qmi_wlanfw_wlan_mode_resp_msg_v01 resp;
+       struct qmi_wlanfw_wlan_mode_req_msg_v01 req = {};
+       struct qmi_wlanfw_wlan_mode_resp_msg_v01 resp = {};
        struct qmi_txn txn;
        int ret = 0;
 
-       memset(&req, 0, sizeof(req));
-       memset(&resp, 0, sizeof(resp));
-
        req.mode = mode;
        req.hw_debug_valid = 1;
        req.hw_debug = 0;
@@ -2654,7 +2638,7 @@ out:
 static int ath12k_qmi_wlanfw_wlan_cfg_send(struct ath12k_base *ab)
 {
        struct qmi_wlanfw_wlan_cfg_req_msg_v01 *req;
-       struct qmi_wlanfw_wlan_cfg_resp_msg_v01 resp;
+       struct qmi_wlanfw_wlan_cfg_resp_msg_v01 resp = {};
        struct ce_pipe_config *ce_cfg;
        struct service_to_pipe *svc_cfg;
        struct qmi_txn txn;
@@ -2667,8 +2651,6 @@ static int ath12k_qmi_wlanfw_wlan_cfg_send(struct ath12k_base *ab)
        if (!req)
                return -ENOMEM;
 
-       memset(&resp, 0, sizeof(resp));
-
        req->host_version_valid = 1;
        strscpy(req->host_version, ATH12K_HOST_VERSION_STRING,
                sizeof(req->host_version));