land: init: Use core init function to read from files

Change-Id: I3fd23490bcdfa4097dad73161ad226337e93cd18
Signed-off-by: Darshan Manjrekar <darshanmanjrekar1205@gmail.com>
This commit is contained in:
Bruno Martins 2017-09-09 00:52:49 +01:00 committed by Darshan Manjrekar
parent bda4d9c090
commit 5c98c9e4f1
No known key found for this signature in database
GPG key ID: 210DE23F489279C5
2 changed files with 31 additions and 27 deletions

View file

@ -18,7 +18,9 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_C_INCLUDES := system/core/init LOCAL_C_INCLUDES := \
system/core/base/include \
system/core/init
LOCAL_MODULE := libinit_land LOCAL_MODULE := libinit_land
LOCAL_MODULE_TAGS := optional LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := init_land.cpp LOCAL_SRC_FILES := init_land.cpp

View file

@ -35,11 +35,15 @@
#include <string.h> #include <string.h>
#include <sys/sysinfo.h> #include <sys/sysinfo.h>
#include <android-base/strings.h>
#include "vendor_init.h" #include "vendor_init.h"
#include "property_service.h" #include "property_service.h"
#include "log.h" #include "log.h"
#include "util.h" #include "util.h"
using android::base::Trim;
char const *heapstartsize; char const *heapstartsize;
char const *heapgrowthlimit; char const *heapgrowthlimit;
char const *heapsize; char const *heapsize;
@ -49,33 +53,31 @@ char const *large_cache_height;
static void init_alarm_boot_properties() static void init_alarm_boot_properties()
{ {
int boot_reason; char const *boot_reason_file = "/proc/sys/kernel/boot_reason";
FILE *fp; std::string boot_reason;
fp = fopen("/proc/sys/kernel/boot_reason", "r"); if (read_file(boot_reason_file, &boot_reason)) {
fscanf(fp, "%d", &boot_reason); /*
fclose(fp); * Setup ro.alarm_boot value to true when it is RTC triggered boot up
* For existing PMIC chips, the following mapping applies
/* * for the value of boot_reason:
* Setup ro.alarm_boot value to true when it is RTC triggered boot up *
* For existing PMIC chips, the following mapping applies * 0 -> unknown
* for the value of boot_reason: * 1 -> hard reset
* * 2 -> sudden momentary power loss (SMPL)
* 0 -> unknown * 3 -> real time clock (RTC)
* 1 -> hard reset * 4 -> DC charger inserted
* 2 -> sudden momentary power loss (SMPL) * 5 -> USB charger inserted
* 3 -> real time clock (RTC) * 6 -> PON1 pin toggled (for secondary PMICs)
* 4 -> DC charger inserted * 7 -> CBLPWR_N pin toggled (for external power supply)
* 5 -> USB charger inserted * 8 -> KPDPWR_N pin toggled (power key pressed)
* 6 -> PON1 pin toggled (for secondary PMICs) */
* 7 -> CBLPWR_N pin toggled (for external power supply) if (Trim(boot_reason) == "3") {
* 8 -> KPDPWR_N pin toggled (power key pressed) property_set("ro.alarm_boot", "true");
*/ } else {
if (boot_reason == 3) { property_set("ro.alarm_boot", "false");
property_set("ro.alarm_boot", "true"); }
} else { }
property_set("ro.alarm_boot", "false");
}
} }
void check_device() void check_device()