summaryrefslogtreecommitdiffstats
path: root/gps/utils/loc_target.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gps/utils/loc_target.cpp')
-rw-r--r--gps/utils/loc_target.cpp76
1 files changed, 17 insertions, 59 deletions
diff --git a/gps/utils/loc_target.cpp b/gps/utils/loc_target.cpp
index 4c41d93..4fcf21a 100644
--- a/gps/utils/loc_target.cpp
+++ b/gps/utils/loc_target.cpp
@@ -52,7 +52,6 @@
#define STR_SURF "Surf"
#define STR_MTP "MTP"
#define STR_APQ "apq"
-#define STR_AUTO "auto"
#define IS_STR_END(c) ((c) == '\0' || (c) == '\n' || (c) == '\r')
#define LENGTH(s) (sizeof(s) - 1)
#define GPS_CHECK_NO_ERROR 0
@@ -175,70 +174,29 @@ unsigned int loc_get_target(void)
if (gTarget != (unsigned int)-1)
return gTarget;
- static const char hw_platform[] = "/sys/devices/soc0/hw_platform";
- static const char id[] = "/sys/devices/soc0/soc_id";
- static const char hw_platform_dep[] =
- "/sys/devices/system/soc/soc0/hw_platform";
- static const char id_dep[] = "/sys/devices/system/soc/soc0/id";
- static const char mdm[] = "/dev/mdm"; // No such file or directory
+ char hw_platform[] = "/sys/devices/system/soc/soc0/hw_platform";
+ char id[] = "/sys/devices/system/soc/soc0/id";
+ char mdm[] = "/dev/mdm"; // No such file or directory
char rd_hw_platform[LINE_LEN];
char rd_id[LINE_LEN];
char rd_mdm[LINE_LEN];
- char baseband[LINE_LEN];
- if (is_qca1530()) {
- gTarget = TARGET_QCA1530;
- goto detected;
- }
-
- loc_get_target_baseband(baseband, sizeof(baseband));
-
- if (!access(hw_platform, F_OK)) {
- read_a_line(hw_platform, rd_hw_platform, LINE_LEN);
- } else {
- read_a_line(hw_platform_dep, rd_hw_platform, LINE_LEN);
- }
- if (!access(id, F_OK)) {
- read_a_line(id, rd_id, LINE_LEN);
- } else {
- read_a_line(id_dep, rd_id, LINE_LEN);
- }
-
- if( !memcmp(baseband, STR_AUTO, LENGTH(STR_AUTO)) )
- {
- gTarget = TARGET_AUTO;
- goto detected;
- }
-
- if( !memcmp(baseband, STR_APQ, LENGTH(STR_APQ)) ){
- if( !memcmp(rd_id, MPQ8064_ID_1, LENGTH(MPQ8064_ID_1))
- && IS_STR_END(rd_id[LENGTH(MPQ8064_ID_1)]) )
- gTarget = TARGET_MPQ;
- else
+ read_a_line(hw_platform, rd_hw_platform, LINE_LEN);
+ read_a_line(id, rd_id, LINE_LEN);
+
+ if(!memcmp(rd_id, MPQ8064_ID_1, LENGTH(MPQ8064_ID_1)) && IS_STR_END(rd_id[LENGTH(MPQ8064_ID_1)]) )
+ gTarget = TARGET_MPQ;
+ else if( (!memcmp(rd_hw_platform, STR_LIQUID, LENGTH(STR_LIQUID)) && IS_STR_END(rd_hw_platform[LENGTH(STR_LIQUID)])) ||
+ (!memcmp(rd_hw_platform, STR_SURF, LENGTH(STR_SURF)) && IS_STR_END(rd_hw_platform[LENGTH(STR_SURF)])) ) {
+ if(!read_a_line( mdm, rd_mdm, LINE_LEN))
+ gTarget = TARGET_MDM;
+ else if( (!memcmp(rd_id, APQ8064_ID_1, LENGTH(APQ8064_ID_1)) && IS_STR_END(rd_id[LENGTH(APQ8064_ID_1)])) ||
+ (!memcmp(rd_id, APQ8064_ID_2, LENGTH(APQ8064_ID_2)) && IS_STR_END(rd_id[LENGTH(APQ8064_ID_2)])) )
gTarget = TARGET_APQ_SA;
}
- else {
- if( (!memcmp(rd_hw_platform, STR_LIQUID, LENGTH(STR_LIQUID))
- && IS_STR_END(rd_hw_platform[LENGTH(STR_LIQUID)])) ||
- (!memcmp(rd_hw_platform, STR_SURF, LENGTH(STR_SURF))
- && IS_STR_END(rd_hw_platform[LENGTH(STR_SURF)])) ||
- (!memcmp(rd_hw_platform, STR_MTP, LENGTH(STR_MTP))
- && IS_STR_END(rd_hw_platform[LENGTH(STR_MTP)]))) {
-
- if (!read_a_line( mdm, rd_mdm, LINE_LEN))
- gTarget = TARGET_MDM;
- }
- else if( (!memcmp(rd_id, MSM8930_ID_1, LENGTH(MSM8930_ID_1))
- && IS_STR_END(rd_id[LENGTH(MSM8930_ID_1)])) ||
- (!memcmp(rd_id, MSM8930_ID_2, LENGTH(MSM8930_ID_2))
- && IS_STR_END(rd_id[LENGTH(MSM8930_ID_2)])) )
- gTarget = TARGET_MSM_NO_SSC;
- else
- gTarget = TARGET_UNKNOWN;
- }
-
-detected:
- LOC_LOGD("HAL: %s returned %d", __FUNCTION__, gTarget);
+ else if( (!memcmp(rd_id, MSM8930_ID_1, LENGTH(MSM8930_ID_1)) && IS_STR_END(rd_id[LENGTH(MSM8930_ID_1)])) ||
+ (!memcmp(rd_id, MSM8930_ID_2, LENGTH(MSM8930_ID_2)) && IS_STR_END(rd_id[LENGTH(MSM8930_ID_2)])) )
+ gTarget = TARGET_MSM_NO_SSC;
return gTarget;
}