OSDN Git Service

wifi: Add wifi_get_fw_path() call
authorDmitry Shmidt <dimitrysh@google.com>
Fri, 1 Jul 2011 18:03:43 +0000 (11:03 -0700)
committerDmitry Shmidt <dimitrysh@google.com>
Fri, 1 Jul 2011 18:03:43 +0000 (11:03 -0700)
Change-Id: Ib9dc8ce84febb2fba045ee527838653d0d1ad11b
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
include/hardware_legacy/wifi.h
wifi/Android.mk
wifi/wifi.c

index 9b81677..fe48553 100644 (file)
@@ -172,6 +172,14 @@ int do_dhcp_request(int *ipaddr, int *gateway, int *mask,
  */
 const char *get_dhcp_error_string();
 
+/**
+ * Return the path to requested firmware
+ */
+#define WIFI_GET_FW_PATH_STA   0
+#define WIFI_GET_FW_PATH_AP    1
+#define WIFI_GET_FW_PATH_P2P   2
+const char *wifi_get_fw_path(int fw_type);
+
 #if __cplusplus
 };  // extern "C"
 #endif
index 70e1b7b..8455d26 100644 (file)
@@ -15,6 +15,15 @@ endif
 ifdef WIFI_FIRMWARE_LOADER
 LOCAL_CFLAGS += -DWIFI_FIRMWARE_LOADER=\"$(WIFI_FIRMWARE_LOADER)\"
 endif
+ifdef WIFI_DRIVER_FW_PATH_STA
+LOCAL_CFLAGS += -DWIFI_DRIVER_FW_PATH_STA=\"$(WIFI_DRIVER_FW_PATH_STA)\"
+endif
+ifdef WIFI_DRIVER_FW_PATH_AP
+LOCAL_CFLAGS += -DWIFI_DRIVER_FW_PATH_AP=\"$(WIFI_DRIVER_FW_PATH_AP)\"
+endif
+ifdef WIFI_DRIVER_FW_PATH_P2P
+LOCAL_CFLAGS += -DWIFI_DRIVER_FW_PATH_P2P=\"$(WIFI_DRIVER_FW_PATH_P2P)\"
+endif
 
 LOCAL_SRC_FILES += wifi/wifi.c
 
index 497d1f7..2591a23 100644 (file)
@@ -57,6 +57,16 @@ static char iface[PROPERTY_VALUE_MAX];
 #endif
 #define WIFI_TEST_INTERFACE            "sta"
 
+#ifndef WIFI_DRIVER_FW_PATH_STA
+#define WIFI_DRIVER_FW_PATH_STA                NULL
+#endif
+#ifndef WIFI_DRIVER_FW_PATH_AP
+#define WIFI_DRIVER_FW_PATH_AP         NULL
+#endif
+#ifndef WIFI_DRIVER_FW_PATH_P2P
+#define WIFI_DRIVER_FW_PATH_P2P                NULL
+#endif
+
 #define WIFI_DRIVER_LOADER_DELAY       1000000
 
 static const char IFACE_DIR[]           = "/data/system/wpa_supplicant";
@@ -604,3 +614,16 @@ int wifi_command(const char *command, char *reply, size_t *reply_len)
 {
     return wifi_send_command(ctrl_conn, command, reply, reply_len);
 }
+
+const char *wifi_get_fw_path(int fw_type)
+{
+    switch (fw_type) {
+    case WIFI_GET_FW_PATH_STA:
+        return WIFI_DRIVER_FW_PATH_STA;
+    case WIFI_GET_FW_PATH_AP:
+        return WIFI_DRIVER_FW_PATH_AP;
+    case WIFI_GET_FW_PATH_P2P:
+        return WIFI_DRIVER_FW_PATH_P2P;
+    }
+    return NULL;
+}