From df8dde6344ec0452db52a652d6191266cde3a46c Mon Sep 17 00:00:00 2001 From: Zhao Wei Liew Date: Mon, 7 Nov 2016 08:01:35 +0800 Subject: [PATCH] land: init: Dynamically set board ID on init Change-Id: Id08be566818ae5d920bb1298ccb92a302ba41018 --- init/init_land.cpp | 37 +++++++++++++++++++++++++++++++++++++ product/qcom-radio.mk | 2 -- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/init/init_land.cpp b/init/init_land.cpp index f90a433..55ed7f0 100644 --- a/init/init_land.cpp +++ b/init/init_land.cpp @@ -35,6 +35,8 @@ #include "log.h" #include "util.h" +static char board_id[PROP_VALUE_MAX]; + static int read_file2(const char *fname, char *data, int max_size) { int fd, rc; @@ -58,6 +60,22 @@ static int read_file2(const char *fname, char *data, int max_size) return 1; } +static void import_cmdline(char *name, int for_emulator) +{ + char *value = strchr(name, '='); + int name_len = strlen(name); + const char s[2] = ":"; + + if (value == 0) return; + *value++ = 0; + if (name_len == 0) return; + + if (!strcmp(name, "board_id")) { + value = strtok(value, s); + strlcpy(board_id, value, sizeof(board_id)); + } +} + static void init_alarm_boot_properties() { char const *alarm_file = "/proc/sys/kernel/boot_reason"; @@ -91,5 +109,24 @@ static void init_alarm_boot_properties() void vendor_load_properties() { + import_kernel_cmdline(0, import_cmdline); + + property_set("ro.product.wt.boardid", board_id); + ERROR("Detected board ID=%s\n", board_id); + + if (!strcmp(board_id, "S88537AA1")) { + property_set("ro.build.display.wtid", "SW_S88537AA1_V053_M20_MP_XM"); + } else if (!strcmp(board_id, "S88537AB1")) { + property_set("ro.build.display.wtid", "SW_S88537AB1_V053_M20_MP_XM"); + } else if (!strcmp(board_id, "S88537AC1")) { + property_set("ro.build.display.wtid", "SW_S88537AC1_V053_M20_MP_XM"); + } else if (!strcmp(board_id, "S88537BA1")) { + property_set("ro.build.display.wtid", "SW_S88537BA1_V053_M20_MP_XM"); + } else if (!strcmp(board_id, "S88537CA1")) { + property_set("ro.build.display.wtid", "SW_S88537CA1_V053_M20_MP_XM"); + } else if (!strcmp(board_id, "S88537EC1")) { + property_set("ro.build.display.wtid", "SW_S88537EC1_V053_M20_MP_XM"); + } + init_alarm_boot_properties(); } diff --git a/product/qcom-radio.mk b/product/qcom-radio.mk index 6c6e879..ae48f56 100644 --- a/product/qcom-radio.mk +++ b/product/qcom-radio.mk @@ -27,9 +27,7 @@ PRODUCT_PROPERTY_OVERRIDES += \ persist.radio.sib16_support=1 \ ril.subscription.types=NV,RUIM \ rild.libpath=/vendor/lib64/libril-qc-qmi-1.so \ - ro.build.display.wtid=SW_S88537AA1_V053_M20_MP_XM \ ro.ct.device.model=XMP-2016030 \ - ro.product.wt.boardid=S88537AA1 \ ro.telephony.call_ring.multiple=false \ ro.telephony.default_network=20 \ ro.use_data_netmgrd=true \