land: init: Check if power off alarm is set

Check if power off alarm is set, then set alarm's properties

Adapted from Mao Jinlong <c_jmao@codeaurora.org> patch in init.qcom.early_boot.sh

Change-Id: Ib86584d1c09aba07c47435ac8bed39aac79a80f7
Signed-off-by: Darshan Manjrekar <darshanmanjrekar1205@gmail.com>
This commit is contained in:
Michael Bestas 2017-09-06 01:30:19 +03:00 committed by Darshan Manjrekar
parent c868346a6a
commit 333bf8080e
No known key found for this signature in database
GPG key ID: 210DE23F489279C5

View file

@ -54,10 +54,13 @@ char const *large_cache_height;
static void init_alarm_boot_properties()
{
char const *boot_reason_file = "/proc/sys/kernel/boot_reason";
char const *power_off_alarm_file = "/persist/alarm/powerOffAlarmSet";
std::string boot_reason;
std::string power_off_alarm;
std::string reboot_reason = property_get("ro.boot.alarmboot");
if (read_file(boot_reason_file, &boot_reason)) {
if (read_file(boot_reason_file, &boot_reason)
&& read_file(power_off_alarm_file, &power_off_alarm)) {
/*
* Setup ro.alarm_boot value to true when it is RTC triggered boot up
* For existing PMIC chips, the following mapping applies
@ -73,7 +76,8 @@ static void init_alarm_boot_properties()
* 7 -> CBLPWR_N pin toggled (for external power supply)
* 8 -> KPDPWR_N pin toggled (power key pressed)
*/
if (Trim(boot_reason) == "3" || reboot_reason == "true") {
if ((Trim(boot_reason) == "3" || reboot_reason == "true")
&& Trim(power_off_alarm) == "1") {
property_set("ro.alarm_boot", "true");
} else {
property_set("ro.alarm_boot", "false");