修复irq模块错误
Change-Id: Ide49b34b09ab73d53ed44d293e9cbfe501ad4745
diff --git a/mbtk/liblynq_lib/src/lynq_irq.c b/mbtk/liblynq_lib/src/lynq_irq.c
index a26b055..d7c0744 100755
--- a/mbtk/liblynq_lib/src/lynq_irq.c
+++ b/mbtk/liblynq_lib/src/lynq_irq.c
@@ -126,7 +126,6 @@
}
irq_fd(line) = fd;
free(usr_name);
-
info = &irq_ctx.info[line];
info->line = line;
info->type = trig_type;
@@ -284,7 +283,7 @@
if (!line_used(line))
return -EEXIST;
-
+
if (ioctl(irq_fd(line), SC_IRQ_GET_WAKE, &wake) < 0) {
return -EPERM;
}
@@ -319,6 +318,12 @@
#if defined(MBTK_PROJECT_T108)
line = line-117;
+ if (line < 0)
+ {
+ LOGE("lynq_irq_install error line:%d", line);
+ return -1;
+ }
+
#endif
ret = sc_irq_install(line, irq_test_handler, trig_type);
@@ -343,6 +348,10 @@
int lynq_irq_uninstall(int line)
{
+#if defined(MBTK_PROJECT_T108)
+ line = line-117;
+#endif
+
int ret;
ret = sc_irq_uninstall(line);
if (ret != 0)
@@ -366,6 +375,10 @@
******************************************/
int lynq_irq_set_type(int line, int trig_type)
{
+#if defined(MBTK_PROJECT_T108)
+ line = line-117;
+#endif
+
int ret;
if(trig_type < 0)
{
@@ -392,10 +405,14 @@
******************************************/
int lynq_irq_get_type(int line)
{
+#if defined(MBTK_PROJECT_T108)
+ line = line-117;
+#endif
+
int ret;
int trig_type;
ret = sc_irq_get_type(line, &trig_type);
- if (ret < 0)
+ if (ret != 0)
{
LOGE("get_type failed, ret:%d", ret);
return ret;
@@ -416,12 +433,17 @@
******************************************/
int lynq_irq_set_wake(int line, int en)
{
+#if defined(MBTK_PROJECT_T108)
+ line = line-117;
+#endif
+
int ret;
if((en != 0) && (en != 1))
{
LOGE("wake_state is not 0 or 1");
return -1;
}
+
ret = sc_irq_set_wake(line, en);
if (ret != 0)
{
@@ -442,6 +464,10 @@
******************************************/
int lynq_irq_get_wake(int line)
{
+#if defined(MBTK_PROJECT_T108)
+ line = line-117;
+#endif
+
int ret;
int en;
ret = sc_irq_get_wake(line, &en);
@@ -450,6 +476,7 @@
LOGE("get_wake failed, ret:%d", ret);
return ret;
}
+
LOGI("get_wake readback(%d)", en);
return en;
}