blob: 566961e3416fc3277737a554c2d9f6b0be80e4d6 [file] [log] [blame]
jb.qi56c57ea2023-10-07 01:37:47 -07001#include <ctype.h>
2#include <stdio.h>
3#include <stdlib.h>
4#include <string.h>
5#include <pthread.h>
6#include <sc_irq.h>
7
8#include "lynq-irq.h"
9#include "liblog/lynq_deflog.h"
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#define USER_LOG_TAG "LYNQ_IRQ"
16
17/*****************************************
18* @brief:lynq_irq_install
19* @param count [IN]:2
20* @param sum [OUT]:NA
21* @return :success 0, failed other
22* @todo:NA
23* @see:NA
24* @warning:NA
25******************************************/
26
27int lynq_irq_install(int line, irq_handler irq_test_handler, int trig_type)
28{
29 int ret;
30 LYLOGSET(LOG_INFO);
31 LYLOGEINIT(USER_LOG_TAG);
32 ret = sc_irq_install(line, irq_test_handler, trig_type);
33 if (ret != 0)
34 {
35 LYINFLOG("do_install_irq failed, ret:%d\n", ret);
36 return ret;
37 }
38 return 0;
39}
40
41
42/*****************************************
43* @brief:lynq_irq_uninstall
44* @param count [IN]:2
45* @param sum [OUT]:NA
46* @return :success 0, failed other
47* @todo:NA
48* @see:NA
49* @warning:NA
50******************************************/
51
52int lynq_irq_uninstall(int line)
53{
54 int ret;
55 LYLOGSET(LOG_INFO);
56 LYLOGEINIT(USER_LOG_TAG);
57 ret = sc_irq_uninstall(line);
58 if (ret != 0)
59 {
60 LYINFLOG("unistall failed, ret:%d\n", ret);
61 return ret;
62 }
63 LYINFLOG("uninstall irq(%d) ok\n", line);
64 return 0;
65}
66
67
68/*****************************************
69* @brief:lynq_irq_set_type
70* @param count [IN]:2
71* @param sum [OUT]:NA
72* @return :success 0, failed other
73* @todo:NA
74* @see:NA
75* @warning:NA
76******************************************/
77int lynq_irq_set_type(int line, int trig_type)
78{
79 int ret;
80 LYLOGSET(LOG_INFO);
81 LYLOGEINIT(USER_LOG_TAG);
82 ret = sc_irq_set_type(line, trig_type);
83 if (ret < 0)
84 {
85 LYINFLOG("set_type failed, ret:%d\n", ret);
86 return ret;
87 }
88 return 0;
89
90}
91
92
93/*****************************************
94* @brief:lynq_irq_set_wake
95* @param count [IN]:2
96* @param sum [OUT]:NA
97* @return :success >0, failed <0
98* @todo:NA
99* @see:NA
100* @warning:NA
101******************************************/
102int lynq_irq_set_wake(int line, int en)
103{
104 int ret;
105 LYLOGSET(LOG_INFO);
106 LYLOGEINIT(USER_LOG_TAG);
107 ret = sc_irq_set_wake(line, en);
108 if (ret < 0)
109 {
110 LYINFLOG("set_wake failed, ret:%d\n", ret);
111 return ret;
112 }
113 return 0;
114}
115
116/*****************************************
117* @brief:lynq_irq_get_wake
118* @param count [IN]:1
119* @param sum [OUT]:NA
120* @return :success >= 0, failed other
121* @todo:NA
122* @see:NA
123* @warning:NA
124******************************************/
125int lynq_irq_get_wake(int line)
126{
127 int ret;
128 int en;
129 LYLOGSET(LOG_INFO);
130 LYLOGEINIT(USER_LOG_TAG);
131 ret = sc_irq_get_wake(line, &en);
132 if (ret != 0)
133 {
134 LYINFLOG("get_wake failed, ret:%d\n", ret);
135 return ret;
136 }
137 LYINFLOG("get_wake readback(%d)\n", en);
138 return en;
139}
140
141
142DEFINE_LYNQ_LIB_LOG(LYNQ_IRQ)
143
144#ifdef __cplusplus
145}
146#endif
147
148
149