diff --git a/exynos4/exynos4x12/liblights/lights.c b/exynos4/exynos4x12/liblights/lights.c
index 8657600..a5bcfd3 100644
--- a/exynos4/exynos4x12/liblights/lights.c
+++ b/exynos4/exynos4x12/liblights/lights.c
@@ -71,7 +71,7 @@
 
     already_warned = 0;
 
-    LOGV("write_int: path %s, value %d", path, value);
+    ALOGV("write_int: path %s, value %d", path, value);
     fd = open(path, O_RDWR);
 
     if (fd >= 0) {
@@ -82,7 +82,7 @@
         return amt == -1 ? -errno : 0;
     } else {
         if (already_warned == 0) {
-            LOGE("write_int failed to open %s\n", path);
+            ALOGE("write_int failed to open %s\n", path);
             already_warned = 1;
         }
         return -errno;
@@ -111,7 +111,7 @@
 
     already_warned = 0;
 
-    LOGV("write_str: path %s, value %s", path, value);
+    ALOGV("write_str: path %s, value %s", path, value);
     fd = open(path, O_RDWR);
 
     if (fd >= 0) {
@@ -122,7 +122,7 @@
         return amt == -1 ? -errno : 0;
     } else {
         if (already_warned == 0) {
-            LOGE("write_str failed to open %s\n", path);
+            ALOGE("write_str failed to open %s\n", path);
             already_warned = 1;
         }
         return -errno;
@@ -166,7 +166,7 @@
 
 static int close_lights(struct light_device_t *dev)
 {
-    LOGV("close_light is called");
+    ALOGV("close_light is called");
     if (dev)
         free(dev);
 
@@ -213,7 +213,7 @@
             led.green = (colorRGB >> 8) & 0xFF;
             led.blue = colorRGB & 0xFF;
             snprintf(led.blink, MAX_WRITE_CMD, "0x%x %d %d", colorRGB, state->flashOnMS, state->flashOffMS);
-            LOGD("set_light_leds 0x%x %d %d", colorRGB, state->flashOnMS, state->flashOffMS);
+            ALOGD("set_light_leds 0x%x %d %d", colorRGB, state->flashOnMS, state->flashOffMS);
         break;
     default:
         return -EINVAL;
@@ -247,7 +247,7 @@
         led.green = (colorRGB >> 8) & 0xFF;
         led.blue = colorRGB & 0xFF;
         snprintf(led.blink, MAX_WRITE_CMD, "0x%x %d %d", colorRGB, state->flashOnMS, state->flashOffMS);
-        LOGD("set_light_battery 0x%x %d %d", colorRGB, state->flashOnMS, state->flashOffMS);
+        ALOGD("set_light_battery 0x%x %d %d", colorRGB, state->flashOnMS, state->flashOffMS);
     }
 
     g_BatteryStore = led;
@@ -301,7 +301,7 @@
     .open =  open_lights,
 };
 
-const struct hw_module_t HAL_MODULE_INFO_SYM = {
+struct hw_module_t HAL_MODULE_INFO_SYM = {
     .tag = HARDWARE_MODULE_TAG,
     .version_major = 1,
     .version_minor = 0,
