diff --git a/cap/zx297520v3/src/lynq/lib/libpoweralarm/libpoweralarm.cpp b/cap/zx297520v3/src/lynq/lib/libpoweralarm/libpoweralarm.cpp
index 79629a7..945e0a4 100755
--- a/cap/zx297520v3/src/lynq/lib/libpoweralarm/libpoweralarm.cpp
+++ b/cap/zx297520v3/src/lynq/lib/libpoweralarm/libpoweralarm.cpp
@@ -76,9 +76,9 @@
         return -1;
     }
 
-    time_sec = atol(buffer);
+    time_sec = atoll(buffer);
     
-    LYINFLOG("Set  wakealarm   %ld seconds ",time_sec);
+    LYINFLOG("Set  wakealarm   %lu seconds ",time_sec);
     wk_srcid = sc_rtc_timer_init();
     if (wk_srcid <= 0)
     {
@@ -129,9 +129,9 @@
         return -1;
     }
 
-    time_sec = atol(buffer);
+    time_sec = atoll(buffer);
     
-    LYINFLOG("Set poweralarm %ld seconds",time_sec);
+    LYINFLOG("Set poweralarm %lu seconds",time_sec);
     srcid = sc_rtc_timer_init();
     if (srcid <= 0)
     {
@@ -194,10 +194,11 @@
 ******************************************/
 int  lynq_set_poweralarm(unsigned long time_sec)
 {
-
+    LYLOGSET(LOG_INFO);
+    LYLOGEINIT(USER_LOG_TAG);
     int ret = 0;
     int srcid = 0;
-    LYINFLOG("lynq_set_poweralarm %ld seconds",time_sec);
+    LYINFLOG("lynq_set_poweralarm %lu seconds",time_sec);
     srcid = sc_rtc_timer_init();
     if (srcid <= 0)
     {
@@ -236,7 +237,11 @@
 int lynq_set_wakealarm(unsigned long  time_sec)
 {
     int ret = 0;
-    LYINFLOG("lynq_set_wakealarm   %ld seconds ",time_sec);
+    
+    LYLOGSET(LOG_INFO);
+    LYLOGEINIT(USER_LOG_TAG);
+    
+    LYINFLOG("lynq_set_wakealarm   %lu seconds ",time_sec);
     wk_srcid = sc_rtc_timer_init();
     if (wk_srcid <= 0)
     {
