diff --git a/mbtk/liblynq_lib/src/lynq_gpio.c b/mbtk/liblynq_lib/src/lynq_gpio.c
index 59f8d55..344c011 100755
--- a/mbtk/liblynq_lib/src/lynq_gpio.c
+++ b/mbtk/liblynq_lib/src/lynq_gpio.c
@@ -200,27 +200,37 @@
     //UNUSED(value);
     UNUSED(pullsel);
 
+    if (direction != 1 || direction != 0)
+    {
+        LOGE("[lynq_gpio_init] direction fail.");
+        return -1;
+    }
+
+    if (value != 1 || value != 0)
+    {
+        LOGE("[lynq_gpio_init] value fail.");
+        return -1;
+    }
+
     if(gpio_export(gpio))
     {
-        LOGE("[lynq_gpio_init]gpio_export() fail.");
+        LOGE("[lynq_gpio_init]gpio_export fail.");
         return -1;
     }
 
     if(gpio_direct_set(gpio, direction == 0 ? "in" : "out"))
     {
-        LOGE("[lynq_gpio_init]gpio_direct_set() fail.");
+        LOGE("[lynq_gpio_init]gpio_direct_set fail.");
         return -1;
     }
     
     if(gpio_value_set(gpio, value))
     {
-        LOGE("[lynq_gpio_init]gpio_value_set() fail.");
+        LOGE("[lynq_gpio_init]gpio_value_set fail.");
         return -1;
     }
 
 
-
-
     return 0;
 }
 
@@ -230,7 +240,7 @@
 
     if(gpio_unexport(gpio))
     {
-        LOGE("[lynq_gpio_init]gpio_unexport() fail.");
+        LOGE("[lynq_gpio_deinit]gpio_unexport fail.");
         return -1;
     }
 
@@ -244,7 +254,7 @@
 
     if(gpio_direct_set(gpio, direction == 0 ? "in" : "out"))
     {
-        LOGE("[lynq_gpio_init]gpio_direct_set() fail.");
+        LOGE("[lynq_gpio_direction_set]gpio_direct_set fail.");
         return -1;
     }
 
@@ -259,7 +269,7 @@
 
     if(gpio_value_set(gpio, value))
     {
-        LOGE("[lynq_gpio_init]gpio_value_set() fail.");
+        LOGE("[lynq_gpio_value_set]gpio_value_set fail.");
         return -1;
     }
 
@@ -274,7 +284,7 @@
     ret = gpio_value_get(gpio);
     if (ret == -1)
     {
-        LOGE("[lynq_gpio_init]gpio_value_set() fail.");
+        LOGE("[lynq_gpio_value_get]gpio_value_get fail.");
         return -1;
     }
 
@@ -283,18 +293,45 @@
 
 int lynq_gpio_pullsel_set(int gpio, int pullsel)
 {
-    UNUSED(gpio);
-    UNUSED(pullsel);
+    //UNUSED(gpio);
+    //UNUSED(pullsel);
+    int ret = -1;
+    int value_t;
 
-    return 0;
+    if (pullsel == 1)
+        value_t = 0;
+    else if (pullsel == 2)
+        value_t = 1;
+    else
+    {
+        LOGE("[lynq_gpio_pullsel_set] value_t fail.");
+        return -1;
+    }
+
+    ret = gpio_value_set(gpio, value_t);
+    if(ret == -1)
+    {
+        LOGE("[lynq_gpio_pullsel_set]gpio_value_set() fail.");
+        return -1;
+    }
+
+    return ret;
 }
 
 
 int lynq_gpio_pullsel_get(int gpio)
 {
-    UNUSED(gpio);
+    //UNUSED(gpio);
+    int ret = -1;
 
-    return 0;
+    ret = gpio_value_get(gpio);
+    if (ret == -1)
+    {
+        LOGE("[lynq_gpio_pullsel_get]gpio_value_get() fail.");
+        return -1;
+    }
+
+    return ret + 1;
 }
 
 
diff --git a/mbtk/liblynq_lib/src/lynq_voice_call.c b/mbtk/liblynq_lib/src/lynq_voice_call.c
index bc64b15..4125130 100755
--- a/mbtk/liblynq_lib/src/lynq_voice_call.c
+++ b/mbtk/liblynq_lib/src/lynq_voice_call.c
Binary files differ
