msm8660: Check for poweron reason from smem and pass it over to kernel
Change-Id: I70969094a5ab59d94df92ba490ba0d67ead23d86
diff --git a/target/msm8660_surf/init.c b/target/msm8660_surf/init.c
index a2a6186..934a278 100644
--- a/target/msm8660_surf/init.c
+++ b/target/msm8660_surf/init.c
@@ -274,3 +274,28 @@
return baseband;
}
+
+static unsigned target_check_power_on_reason(void)
+{
+ unsigned power_on_status = 0;
+ unsigned int status_len = sizeof(power_on_status);
+ unsigned smem_status;
+
+ smem_status = smem_read_alloc_entry(SMEM_POWER_ON_STATUS_INFO,
+ &power_on_status, status_len);
+
+ if (!smem_status)
+ {
+ dprintf(CRITICAL, "ERROR: unable to read shared memory for power on reason\n");
+ }
+
+ return power_on_status;
+}
+
+unsigned target_pause_for_battery_charge(void)
+{
+ if (target_check_power_on_reason() == PWR_ON_EVENT_USB_CHG)
+ return 1;
+
+ return 0;
+}