SSB-14939: wlan_hal changes for Andorid-M
authorDebasish Das <d.das@samsung.com>
Mon, 4 Apr 2016 07:57:08 +0000 (13:27 +0530)
committerTarun Karela <t.karela@samsung.com>
Mon, 4 Jun 2018 09:40:47 +0000 (10:40 +0100)
Changes in wlan_hal for builing it for Andorid-M

Change-Id: I884ddb308091308480eaeb221da161829d285056
SCSC-Bug-Id: SSB-14939
Signed-off-by: Debasish Das <d.das@samsung.com>
gscan.cpp
wifi_hal.cpp

index f9df8a4423851af988a27e437507f48a6efc6c7f..2de10a6470055e5794eb322145da87cd999c101e 100755 (executable)
--- a/gscan.cpp
+++ b/gscan.cpp
@@ -302,7 +302,7 @@ public:
             return result;\r
         }\r
 \r
-        result = request.put_u32(GSCAN_ATTRIBUTE_REPORT_THRESHOLD, mParams->report_threshold);\r
+        result = request.put_u32(GSCAN_ATTRIBUTE_REPORT_THRESHOLD, mParams->report_threshold_percent);\r
         if (result < 0) {\r
             return result;\r
         }\r
@@ -434,7 +434,7 @@ public:
         event.log();\r
 \r
         nlattr *vendor_data = event.get_attribute(NL80211_ATTR_VENDOR_DATA);\r
-        int len = event.get_vendor_data_len();\r
+        unsigned int len = event.get_vendor_data_len();\r
         int event_id = event.get_vendor_subcmd();\r
         ALOGD("handleEvent, event_id = %d", event_id);\r
 \r
@@ -531,7 +531,7 @@ wifi_error wifi_stop_gscan(wifi_request_id id, wifi_interface_handle iface)
 }\r
 \r
 class GetScanResultsCommand : public WifiCommand {\r
-    wifi_scan_result *mResults;\r
+    wifi_cached_scan_results *mResults;\r
     int mMax;\r
     int *mNum;\r
     int mRetrieved;\r
@@ -539,7 +539,7 @@ class GetScanResultsCommand : public WifiCommand {
     int mCompleted;\r
 public:\r
     GetScanResultsCommand(wifi_interface_handle iface, byte flush,\r
-            wifi_scan_result *results, int max, int *num)\r
+            wifi_cached_scan_results *results, int max, int *num)\r
         : WifiCommand(iface, -1), mResults(results), mMax(max), mNum(num),\r
                 mRetrieved(0), mFlush(flush), mCompleted(0)\r
     { }\r
@@ -652,8 +652,7 @@ public:
 };\r
 \r
 wifi_error wifi_get_cached_gscan_results(wifi_interface_handle iface, byte flush,\r
-        int max, wifi_scan_result *results, int *num) {\r
-\r
+        int max, wifi_cached_scan_results *results, int *num) {\r
     ALOGD("Getting cached scan results, iface handle = %p, num = %d", iface, *num);\r
 \r
     GetScanResultsCommand *cmd = new GetScanResultsCommand(iface, flush, results, max, num);\r
@@ -689,7 +688,7 @@ public:
         }\r
 \r
         struct nlattr * attr = request.attr_start(GSCAN_ATTRIBUTE_HOTLIST_BSSIDS);\r
-        for (int i = 0; i < mParams.num_ap; i++) {\r
+        for (int i = 0; i < mParams.num_bssid; i++) {\r
             nlattr *attr2 = request.attr_start(GSCAN_ATTRIBUTE_HOTLIST_ELEM);\r
             if (attr2 == NULL) {\r
                 return WIFI_ERROR_OUT_OF_MEMORY;\r
@@ -706,10 +705,6 @@ public:
             if (result < 0) {\r
                 return result;\r
             }\r
-            result = request.put_u16(GSCAN_ATTRIBUTE_CHANNEL_NUMBER, mParams.ap[i].channel);\r
-            if (result < 0) {\r
-                return result;\r
-            }\r
             request.attr_end(attr2);\r
         }\r
 \r
@@ -728,7 +723,7 @@ public:
     }\r
 \r
     int start() {\r
-        ALOGD("Executing hotlist setup request, num = %d", mParams.num_ap);\r
+        ALOGD("Executing hotlist setup request, num = %d", mParams.num_bssid);\r
         WifiRequest request(familyId(), ifaceId());\r
         int result = createSetupRequest(request);\r
         if (result < 0) {\r
@@ -743,7 +738,7 @@ public:
             return result;\r
         }\r
 \r
-        ALOGD("Successfully set %d APs in the hotlist", mParams.num_ap);\r
+        ALOGD("Successfully set %d APs in the hotlist", mParams.num_bssid);\r
 \r
         registerVendorHandler(GOOGLE_OUI, GSCAN_EVENT_HOTLIST_RESULTS_FOUND);\r
         registerVendorHandler(GOOGLE_OUI, GSCAN_EVENT_HOTLIST_RESULTS_LOST);\r
@@ -879,7 +874,7 @@ public:
 \r
         struct nlattr * attr = request.attr_start(GSCAN_ATTRIBUTE_SIGNIFICANT_CHANGE_BSSIDS);\r
 \r
-        for (int i = 0; i < mParams.num_ap; i++) {\r
+        for (int i = 0; i < mParams.num_bssid; i++) {\r
 \r
             nlattr *attr2 = request.attr_start(i);\r
             if (attr2 == NULL) {\r
@@ -897,10 +892,6 @@ public:
             if (result < 0) {\r
                 return result;\r
             }\r
-            result = request.put_u16(GSCAN_ATTRIBUTE_CHANNEL, mParams.ap[i].channel);\r
-            if (result < 0) {\r
-                return result;\r
-            }\r
             request.attr_end(attr2);\r
         }\r
 \r
@@ -978,7 +969,7 @@ public:
         typedef struct {\r
             uint16_t channel;\r
             mac_addr bssid;\r
-            s16 rssi_history[8];\r
+            int16_t rssi_history[8];\r
         } ChangeInfo;\r
 \r
         int num = min(len / sizeof(ChangeInfo), MAX_RESULTS);\r
index ad7cf7957611c60ef77d804415620852e0a9a3b1..837119a8d05dece5820e43b5d1d1e92826d0ce16 100755 (executable)
@@ -93,6 +93,37 @@ static nl_sock * wifi_create_nl_socket(int port)
     return sock;\r
 }\r
 \r
+/*initialize function pointer table with Broadcom HHAL API*/\r
+wifi_error init_wifi_vendor_hal_func_table(wifi_hal_fn *fn)\r
+{\r
+    if (fn == NULL) {\r
+        return WIFI_ERROR_UNKNOWN;\r
+    }\r
+    fn->wifi_initialize = wifi_initialize;\r
+    fn->wifi_cleanup = wifi_cleanup;\r
+    fn->wifi_event_loop = wifi_event_loop;\r
+    fn->wifi_get_supported_feature_set = wifi_get_supported_feature_set;\r
+    fn->wifi_get_concurrency_matrix = wifi_get_concurrency_matrix;\r
+    fn->wifi_set_scanning_mac_oui =  wifi_set_scanning_mac_oui;\r
+    fn->wifi_get_ifaces = wifi_get_ifaces;\r
+    fn->wifi_get_iface_name = wifi_get_iface_name;\r
+    fn->wifi_start_gscan = wifi_start_gscan;\r
+    fn->wifi_stop_gscan = wifi_stop_gscan;\r
+    fn->wifi_get_cached_gscan_results = wifi_get_cached_gscan_results;\r
+    fn->wifi_set_bssid_hotlist = wifi_set_bssid_hotlist;\r
+    fn->wifi_reset_bssid_hotlist = wifi_reset_bssid_hotlist;\r
+    fn->wifi_set_significant_change_handler = wifi_set_significant_change_handler;\r
+    fn->wifi_reset_significant_change_handler = wifi_reset_significant_change_handler;\r
+    fn->wifi_get_gscan_capabilities = wifi_get_gscan_capabilities;\r
+    fn->wifi_get_link_stats = wifi_get_link_stats;\r
+    fn->wifi_get_valid_channels = wifi_get_valid_channels;\r
+    fn->wifi_rtt_range_request = wifi_rtt_range_request;\r
+    fn->wifi_rtt_range_cancel = wifi_rtt_range_cancel;\r
+    fn->wifi_get_rtt_capabilities = wifi_get_rtt_capabilities;\r
+    fn->wifi_set_nodfs_flag = wifi_set_nodfs_flag;\r
+    return WIFI_SUCCESS;\r
+}\r
+\r
 wifi_error wifi_initialize(wifi_handle *handle)\r
 {\r
     srand(getpid());\r