Remove dynamic allocation 56/235556/6
authorDewal Agarwal <d1.agarwal@samsung.com>
Fri, 5 Jun 2020 10:47:00 +0000 (16:17 +0530)
committerDewal Agarwal <d1.agarwal@samsung.com>
Mon, 15 Jun 2020 09:31:07 +0000 (15:01 +0530)
Change-Id: I9895c2b81d9e667205840c72eadac20ad10d9ffb
Signed-off-by: Dewal Agarwal <d1.agarwal@samsung.com>
src/bm_power_engine.c

index 8b820c0..276dfcb 100644 (file)
@@ -558,32 +558,24 @@ int bm_ble_calc_power_and_commit(bm_bluetooth_st *handle, bool mode)
                        _ERR("Insert of BT base resource failed ");
        }
 
-       bd_gl_ble_stat_s *gble_st = (bd_gl_ble_stat_s *)calloc(1, sizeof(bd_gl_ble_stat_s));
-       if (gble_st == NULL) {
-               _ERR("memory allocation failed");
-               return BATTERY_MONITOR_ERROR_OUT_OF_MEMORY;
-       }
-       gble_st->time_s = ret_time; gble_st->ble_idle_time = (sesTime - (scTime + conTime));
-       gble_st->ble_rx_time = rx_time;
-       gble_st->ble_tx_time = tx_time;
-       gble_st->ble_pwi_val = P_power_bt;
+       bd_gl_ble_stat_s gble_st;
+       gble_st.time_s = ret_time; gble_st.ble_idle_time = (sesTime - (scTime + conTime));
+       gble_st.ble_rx_time = rx_time; gble_st.ble_tx_time = tx_time;
+       gble_st.ble_pwi_val = P_power_bt;
 
-       ret_val = bm_server_battery_dump_insert_to_db(gble_st, 0);
+       ret_val = bm_server_battery_dump_insert_to_db(&gble_st, 0);
        if (ret_val != BATTERY_MONITOR_ERROR_NONE)
                _ERR("Insert of GBLE failed ");
-       BM_FREE(gble_st);
-       bd_gl_bst_stat_s *gbst_st = (bd_gl_bst_stat_s *)calloc(1, sizeof(bd_gl_bst_stat_s));
-       if (gbst_st == NULL) {
-               _ERR("memory allocation failed");
-               return BATTERY_MONITOR_ERROR_OUT_OF_MEMORY;
-       }
-       gbst_st->time_s = ret_time; gbst_st->off_time = data_collection_period / 1000;
-       gbst_st->off_time -= sesTime; gbst_st->low_time = 0/*(sesTime - (scTime + conTime))*/;
-       gbst_st->med_time = 0/*scTime*/; gbst_st->high_time = 0/*conTime*/;
-       ret_val = bm_server_battery_dump_insert_to_db(gbst_st, 6);
+
+       bd_gl_bst_stat_s gbst_st;
+       gbst_st.time_s = ret_time; gbst_st.off_time = data_collection_period / 1000;
+       gbst_st.off_time = (sesTime >= gbst_st.off_time) ? 0 : (gbst_st.off_time - sesTime);
+       gbst_st.low_time = 0;/*(sesTime - (scTime + conTime))*/
+       gbst_st.med_time = 0;/*scTime*/ gbst_st.high_time = 0;/*conTime*/
+       ret_val = bm_server_battery_dump_insert_to_db(&gbst_st, 6);
        if (ret_val != BATTERY_MONITOR_ERROR_NONE)
                _ERR("Insert of GBLE failed ");
-       BM_FREE(gbst_st);
+
        /* Free the hash map */
        g_hash_table_destroy(hash);
 
@@ -680,8 +672,7 @@ int bm_wifi_calc_power_and_commit(bm_wifi_st *handle, bool mode)
                        sP_power_wf_tl4, sP_power_wf_scan, sP_power_wf_idle, sP_power_wf_rx, sP_power_wf_tx);
 
        tl0 /= 1000; tl1 /= 1000; tl2 /= 1000; tl3 /= 1000;  tl4 /= 1000;
-       onTime /= 1000;
-       rx_time /= 1000; tx_time /= 1000;
+       onTime /= 1000; rx_time /= 1000; tx_time /= 1000;
        tl_total = tl0 + tl1 + tl2 + tl3 + tl4;
        /* Wifi power consumption Level - 1 at the Resource Level */
        long int P_power_wifi = 0, P_power_data = 0, P_power_conn = 0;
@@ -770,35 +761,26 @@ int bm_wifi_calc_power_and_commit(bm_wifi_st *handle, bool mode)
                        _ERR("Insert of Wifi base resource failed ");
        }
 
-       bd_gl_wifi_stat_s *gwfl_st = (bd_gl_wifi_stat_s *)calloc(1, sizeof(bd_gl_wifi_stat_s));
-       if (gwfl_st == NULL) {
-               _ERR("memory allocation failed");
-               return BATTERY_MONITOR_ERROR_OUT_OF_MEMORY;
-       }
-       gwfl_st->time_s = ret_time; gwfl_st->wifi_on_time = sesTime;
-       gwfl_st->wifi_conn_time = tl_total; gwfl_st->wifi_idle_time = (sesTime - (tl_total + scTime));
-       gwfl_st->wifi_rx_time = rx_time;
-       gwfl_st->wifi_tx_time = tx_time;
-       ret_val = bm_server_battery_dump_insert_to_db(gwfl_st, 1);
+       bd_gl_wifi_stat_s gwfl_st;
+       gwfl_st.time_s = ret_time; gwfl_st.wifi_on_time = sesTime;
+       gwfl_st.wifi_conn_time = tl_total; gwfl_st.wifi_idle_time = (sesTime - (tl_total + scTime));
+       gwfl_st.wifi_rx_time = rx_time; gwfl_st.wifi_tx_time = tx_time;
+       gwfl_st.wifi_pwi_val = P_power_wifi;
+       ret_val = bm_server_battery_dump_insert_to_db(&gwfl_st, 1);
        if (ret_val != BATTERY_MONITOR_ERROR_NONE)
                _ERR("Insert of GWFL failed ");
        else
                _DBG("Insert successful");
-       BM_FREE(gwfl_st);
-       bd_gl_wst_stat_s *gwst_st = (bd_gl_wst_stat_s *)calloc(1, sizeof(bd_gl_wst_stat_s));
-       if (gwst_st == NULL) {
-               _ERR("memory allocation failed");
-               return BATTERY_MONITOR_ERROR_OUT_OF_MEMORY;
-       }
-       gwst_st->time_s = ret_time; gwst_st->wscan_time = scTime;
-       gwst_st->wnone_time = tl0; gwst_st->wpoor_time = tl1; gwst_st->wmed_time = tl2;
-       gwst_st->wgood_time = tl3; gwst_st->wgrt_time = tl4;
-       ret_val = bm_server_battery_dump_insert_to_db(gwst_st, 5);
+
+       bd_gl_wst_stat_s gwst_st;
+       gwst_st.time_s = ret_time; gwst_st.wscan_time = scTime;
+       gwst_st.wnone_time = tl0; gwst_st.wpoor_time = tl1; gwst_st.wmed_time = tl2;
+       gwst_st.wgood_time = tl3; gwst_st.wgrt_time = tl4;
+       ret_val = bm_server_battery_dump_insert_to_db(&gwst_st, 5);
        if (ret_val != BATTERY_MONITOR_ERROR_NONE)
                _ERR("Insert of GWFL failed ");
        else
                _DBG("Insert successful");
-       BM_FREE(gwst_st);
 
        /* Free the Hash Map */
        g_hash_table_destroy(hash);
@@ -941,17 +923,13 @@ int bm_cpu_calc_power_and_commit(bm_cpu_st *handle, bool mode)
                        _ERR("Insert of CPU base resource failed ");
        }
 
-       bd_gl_cpu_stat_s *gcpu_st = (bd_gl_cpu_stat_s *)calloc(1, sizeof(bd_gl_cpu_stat_s));
-       if (gcpu_st == NULL) {
-               _ERR("memory allocation failed");
-               return BATTERY_MONITOR_ERROR_OUT_OF_MEMORY;
-       }
-       gcpu_st->time_s = ret_time; gcpu_st->usr_time = uTime;
-       gcpu_st->sys_time = sTime;
-       ret_val = bm_server_battery_dump_insert_to_db(gcpu_st, 7);
+       bd_gl_cpu_stat_s gcpu_st;
+       gcpu_st.time_s = ret_time; gcpu_st.usr_time = uTime;
+       gcpu_st.sys_time = sTime;
+       ret_val = bm_server_battery_dump_insert_to_db(&gcpu_st, 7);
        if (ret_val != BATTERY_MONITOR_ERROR_NONE)
                _ERR("Insert GCPU failed");
-       BM_FREE(gcpu_st);
+
        /* Free the Hash Map */
        g_hash_table_destroy(hash);
 
@@ -1084,22 +1062,15 @@ int bm_display_calc_power_and_commit(bm_display_st *handle, bool mode)
                        _ERR("Insert of Display base resource failed ");
        }
 
-       bd_gl_sbr_stat_s *gbr_st = (bd_gl_sbr_stat_s *)calloc(1, sizeof(bd_gl_sbr_stat_s));
-       if (gbr_st == NULL) {
-               _ERR("memory allocation failed");
-               return BATTERY_MONITOR_ERROR_OUT_OF_MEMORY;
-       }
-
-       gbr_st->time_s = ret_time; gbr_st->dark = (data_collection_period / 1000);
-       gbr_st->dark -= sesTime; gbr_st->dim = lowTime; gbr_st->medium = medTime;
-       gbr_st->bright = highTime;
-
-       ret_val = bm_server_battery_dump_insert_to_db(gbr_st, 3);
+       bd_gl_sbr_stat_s gbr_st;
+       gbr_st.time_s = ret_time; gbr_st.dark = (data_collection_period / 1000);
+       gbr_st.dark = (sesTime >= gbr_st.dark) ? 0 : (gbr_st.dark - sesTime);
+       gbr_st.dim = lowTime; gbr_st.medium = medTime;
+       gbr_st.light = 0; gbr_st.bright = highTime;
+       ret_val = bm_server_battery_dump_insert_to_db(&gbr_st, 3);
        if (ret_val != BATTERY_MONITOR_ERROR_NONE)
                _ERR("Insert of GBR failed ");
-       else
-               _DBG("Insert GBR successful");
-       BM_FREE(gbr_st);
+
        /* Free the Hash Map */
        g_hash_table_destroy(hash);
 
@@ -1181,7 +1152,8 @@ int bm_device_network_calc_power_and_commit(bm_device_network_st *handle, bool m
        tl_total = tl0 + tl1 + tl2 + tl3 + tl4 + tl5 + tl6;
        /* Device Network power consumption Level - 1 at the Resource Level */
        long int P_power_dntw = 0, P_power_data = 0, P_power_conn = 0;
-       P_power_conn = ((sP_power_dn_tl0 * tl0) + (sP_power_dn_tl1 * tl1) + (sP_power_dn_tl2 * tl2) + (sP_power_dn_tl3 * tl3) + (sP_power_dn_tl4 * tl4) + (sP_power_dn_tl5 * tl5) + (sP_power_dn_tl6 * tl6));
+       P_power_conn = ((sP_power_dn_tl0 * tl0) + (sP_power_dn_tl1 * tl1) + (sP_power_dn_tl2 * tl2)
+               + (sP_power_dn_tl3 * tl3) + (sP_power_dn_tl4 * tl4) + (sP_power_dn_tl5 * tl5) + (sP_power_dn_tl6 * tl6));
        P_power_data = ((sP_power_dn_tx) * TX) + ((sP_power_dn_rx) * RX);
        P_power_dntw = P_power_conn + P_power_data;
 
@@ -1217,7 +1189,8 @@ int bm_device_network_calc_power_and_commit(bm_device_network_st *handle, bool m
                app_usage.log_time = ret_time;
                total_app_pw += P_power_app_dntw;
                /* Call Insert Function */
-               _DBG("Calculated Power for Appid (%s) P_power_app_dntw(%ld),  P_power_app_conn (%ld), P_power_app_data(%ld)", appid, P_power_app_dntw, P_power_app_conn, P_power_app_data);
+               _DBG("Calculated Power for Appid (%s) P_power_app_dntw(%ld),  P_power_app_conn (%ld), P_power_app_data(%ld)",
+                               appid, P_power_app_dntw, P_power_app_conn, P_power_app_data);
                if (mode) {
                        ret_val = bm_server_appid_insert_to_db(app_usage.AppId);
                        if (ret_val != BATTERY_MONITOR_ERROR_NONE)
@@ -1247,19 +1220,13 @@ int bm_device_network_calc_power_and_commit(bm_device_network_st *handle, bool m
                        _ERR("Insert of Data Network base resource failed ");
        }
 
-       bd_gl_sgt_stat_s *gst_st = (bd_gl_sgt_stat_s *)calloc(1, sizeof(bd_gl_sgt_stat_s));
-       if (gst_st == NULL) {
-               _ERR("memory allocation failed");
-               return BATTERY_MONITOR_ERROR_OUT_OF_MEMORY;
-       }
-
-       gst_st->time_s = ret_time; gst_st->scan_time = tl0; gst_st->none_time = tl1;
-       gst_st->poor_time = tl2; gst_st->med_time = tl3 + tl4;
-       gst_st->good_time = tl5; gst_st->grt_time = tl6;
-       ret_val = bm_server_battery_dump_insert_to_db(gst_st, 4);
+       bd_gl_sgt_stat_s gst_st;
+       gst_st.time_s = ret_time; gst_st.scan_time = tl0; gst_st.none_time = tl1;
+       gst_st.poor_time = tl2; gst_st.med_time = tl3 + tl4;
+       gst_st.good_time = tl5; gst_st.grt_time = tl6;
+       ret_val = bm_server_battery_dump_insert_to_db(&gst_st, 4);
        if (ret_val != BATTERY_MONITOR_ERROR_NONE)
                _ERR("Insert of GWFL failed ");
-       BM_FREE(gst_st);
 
        /* Free the Hash Map */
        g_hash_table_destroy(hash);