} tizen_profile_t;
extern tizen_profile_t _get_tizen_profile();
+typedef enum {
+ TIZEN_WLAN_DRIVER_UNKNOWN = 0,
+ TIZEN_WLAN_DRIVER_BROADCOM = 1,
+ TIZEN_WLAN_DRIVER_SPRD = 2,
+} tizen_wlan_driver_t;
+extern tizen_wlan_driver_t _get_wlan_driver();
+
#define TIZEN_TELEPHONY_ENABLE (_get_tizen_profile() == TIZEN_PROFILE_MOBILE)
-#define TIZEN_WLAN_BOARD_SPRD (_get_tizen_profile() == TIZEN_PROFILE_MOBILE)
+#define TIZEN_WLAN_BOARD_SPRD (_get_wlan_driver() == TIZEN_WLAN_DRIVER_SPRD)
#define TIZEN_TV (_get_tizen_profile() == TIZEN_PROFILE_TV)
#define TIZEN_NTP_ENABLE (_get_tizen_profile() == TIZEN_PROFILE_IVI)
Name: net-config
Summary: TIZEN Network Configuration service
-Version: 1.1.100
+Version: 1.1.101
Release: 2
Group: System/Network
License: Apache-2.0
return profile;
}
+tizen_wlan_driver_t _get_wlan_driver(void)
+{
+ static tizen_wlan_driver_t drv = TIZEN_WLAN_DRIVER_UNKNOWN;
+ if (__builtin_expect(drv != TIZEN_WLAN_DRIVER_UNKNOWN, 1))
+ return drv;
+
+ char *model_name = NULL;
+ int ret = 0;
+
+ ret = system_info_get_platform_string("http://tizen.org/system/model_name", &model_name);
+ if (ret != SYSTEM_INFO_ERROR_NONE) {
+ ERR("Failed to get system information(%d)", ret);
+ return drv;
+ }
+
+ if (model_name && strncmp(model_name, "TM1", sizeof("TM1")) == 0)
+ drv = TIZEN_WLAN_DRIVER_SPRD;
+ else if (strncmp(model_name, "n4", sizeof("n4")) == 0)
+ drv = TIZEN_WLAN_DRIVER_BROADCOM;
+
+ free(model_name);
+
+ return drv;
+}
+
void netconfig_plugin_init()
{
handle_headed = dlopen(HEADED_PLUGIN_FILEPATH, RTLD_NOW);
char *const args[] = { "/usr/bin/wlan.sh", "start", NULL };
char *const envs[] = { NULL };
- rv = netconfig_execute_file(path, args, envs);
- if (rv < 0)
- return -EIO;
+ if (TIZEN_WLAN_BOARD_SPRD) {
+ rv = netconfig_execute_file(path, args, envs);
+ if (rv < 0)
+ return -EIO;
+ }
rv = netconfig_interface_up(WLAN_IFACE_NAME);
if (rv != TRUE)
if (rv != TRUE)
return -EIO;
- rv = netconfig_execute_file(path, args, envs);
- if (rv < 0)
- return -EIO;
+ if (TIZEN_WLAN_BOARD_SPRD) {
+ rv = netconfig_execute_file(path, args, envs);
+ if (rv < 0)
+ return -EIO;
+ }
DBG("Successfully removed wireless device driver");
return 0;