[Feature][T106-184][IRQ]add lynq_get_irq_type api and change demo
Only Configure: No
Affected branch: master
Affected module: irq
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: Yes
Doc Update: Yes
Change-Id: I61375b14caf8d687da6aa93b87ca1a6877a18c62
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-irq/lynq-irq.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-irq/lynq-irq.cpp
index 566961e..a48090e 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-irq/lynq-irq.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-irq/lynq-irq.cpp
@@ -12,7 +12,6 @@
extern "C" {
#endif
-#define USER_LOG_TAG "LYNQ_IRQ"
/*****************************************
* @brief:lynq_irq_install
@@ -27,8 +26,10 @@
int lynq_irq_install(int line, irq_handler irq_test_handler, int trig_type)
{
int ret;
- LYLOGSET(LOG_INFO);
- LYLOGEINIT(USER_LOG_TAG);
+ if(trig_type < 0)
+ {
+ return -1;
+ }
ret = sc_irq_install(line, irq_test_handler, trig_type);
if (ret != 0)
{
@@ -52,8 +53,6 @@
int lynq_irq_uninstall(int line)
{
int ret;
- LYLOGSET(LOG_INFO);
- LYLOGEINIT(USER_LOG_TAG);
ret = sc_irq_uninstall(line);
if (ret != 0)
{
@@ -77,8 +76,10 @@
int lynq_irq_set_type(int line, int trig_type)
{
int ret;
- LYLOGSET(LOG_INFO);
- LYLOGEINIT(USER_LOG_TAG);
+ if(trig_type < 0)
+ {
+ return -1;
+ }
ret = sc_irq_set_type(line, trig_type);
if (ret < 0)
{
@@ -89,6 +90,29 @@
}
+/*****************************************
+* @brief:lynq_irq_get_type
+* @param count [IN]:1
+* @param sum [OUT]:NA
+* @return :success >= 0, failed other
+* @todo:NA
+* @see:NA
+* @warning:NA
+******************************************/
+int lynq_irq_get_type(int line)
+{
+ int ret;
+ int trig_type;
+ ret = sc_irq_get_type(line, &trig_type);
+ if (ret != 0)
+ {
+ LYINFLOG("get_type failed, ret:%d\n", ret);
+ return ret;
+ }
+ LYINFLOG("get_type readback(%d)\n", trig_type);
+ return trig_type;
+}
+
/*****************************************
* @brief:lynq_irq_set_wake
@@ -102,8 +126,6 @@
int lynq_irq_set_wake(int line, int en)
{
int ret;
- LYLOGSET(LOG_INFO);
- LYLOGEINIT(USER_LOG_TAG);
ret = sc_irq_set_wake(line, en);
if (ret < 0)
{
@@ -126,8 +148,6 @@
{
int ret;
int en;
- LYLOGSET(LOG_INFO);
- LYLOGEINIT(USER_LOG_TAG);
ret = sc_irq_get_wake(line, &en);
if (ret != 0)
{