1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _METER_H
3 #define _METER_H
4 
5 #include <linux/iio/sysfs.h>
6 
7 /* metering ic types of attribute */
8 
9 #define IIO_DEV_ATTR_CURRENT_A_OFFSET(_mode, _show, _store, _addr)	\
10 	IIO_DEVICE_ATTR(current_a_offset, _mode, _show, _store, _addr)
11 
12 #define IIO_DEV_ATTR_CURRENT_B_OFFSET(_mode, _show, _store, _addr)	\
13 	IIO_DEVICE_ATTR(current_b_offset, _mode, _show, _store, _addr)
14 
15 #define IIO_DEV_ATTR_CURRENT_C_OFFSET(_mode, _show, _store, _addr)	\
16 	IIO_DEVICE_ATTR(current_c_offset, _mode, _show, _store, _addr)
17 
18 #define IIO_DEV_ATTR_VOLT_A_OFFSET(_mode, _show, _store, _addr)      \
19 	IIO_DEVICE_ATTR(volt_a_offset, _mode, _show, _store, _addr)
20 
21 #define IIO_DEV_ATTR_VOLT_B_OFFSET(_mode, _show, _store, _addr)      \
22 	IIO_DEVICE_ATTR(volt_b_offset, _mode, _show, _store, _addr)
23 
24 #define IIO_DEV_ATTR_VOLT_C_OFFSET(_mode, _show, _store, _addr)      \
25 	IIO_DEVICE_ATTR(volt_c_offset, _mode, _show, _store, _addr)
26 
27 #define IIO_DEV_ATTR_REACTIVE_POWER_A_OFFSET(_mode, _show, _store, _addr)   \
28 	IIO_DEVICE_ATTR(reactive_power_a_offset, _mode, _show, _store, _addr)
29 
30 #define IIO_DEV_ATTR_REACTIVE_POWER_B_OFFSET(_mode, _show, _store, _addr)   \
31 	IIO_DEVICE_ATTR(reactive_power_b_offset, _mode, _show, _store, _addr)
32 
33 #define IIO_DEV_ATTR_REACTIVE_POWER_C_OFFSET(_mode, _show, _store, _addr)   \
34 	IIO_DEVICE_ATTR(reactive_power_c_offset, _mode, _show, _store, _addr)
35 
36 #define IIO_DEV_ATTR_ACTIVE_POWER_A_OFFSET(_mode, _show, _store, _addr)     \
37 	IIO_DEVICE_ATTR(active_power_a_offset, _mode, _show, _store, _addr)
38 
39 #define IIO_DEV_ATTR_ACTIVE_POWER_B_OFFSET(_mode, _show, _store, _addr)     \
40 	IIO_DEVICE_ATTR(active_power_b_offset, _mode, _show, _store, _addr)
41 
42 #define IIO_DEV_ATTR_ACTIVE_POWER_C_OFFSET(_mode, _show, _store, _addr)     \
43 	IIO_DEVICE_ATTR(active_power_c_offset, _mode, _show, _store, _addr)
44 
45 #define IIO_DEV_ATTR_CURRENT_A_GAIN(_mode, _show, _store, _addr)	\
46 	IIO_DEVICE_ATTR(current_a_gain, _mode, _show, _store, _addr)
47 
48 #define IIO_DEV_ATTR_CURRENT_B_GAIN(_mode, _show, _store, _addr)	\
49 	IIO_DEVICE_ATTR(current_b_gain, _mode, _show, _store, _addr)
50 
51 #define IIO_DEV_ATTR_CURRENT_C_GAIN(_mode, _show, _store, _addr)	\
52 	IIO_DEVICE_ATTR(current_c_gain, _mode, _show, _store, _addr)
53 
54 #define IIO_DEV_ATTR_APPARENT_POWER_A_GAIN(_mode, _show, _store, _addr)     \
55 	IIO_DEVICE_ATTR(apparent_power_a_gain, _mode, _show, _store, _addr)
56 
57 #define IIO_DEV_ATTR_APPARENT_POWER_B_GAIN(_mode, _show, _store, _addr)     \
58 	IIO_DEVICE_ATTR(apparent_power_b_gain, _mode, _show, _store, _addr)
59 
60 #define IIO_DEV_ATTR_APPARENT_POWER_C_GAIN(_mode, _show, _store, _addr)     \
61 	IIO_DEVICE_ATTR(apparent_power_c_gain, _mode, _show, _store, _addr)
62 
63 #define IIO_DEV_ATTR_ACTIVE_POWER_GAIN(_mode, _show, _store, _addr)     \
64 	IIO_DEVICE_ATTR(active_power_gain, _mode, _show, _store, _addr)
65 
66 #define IIO_DEV_ATTR_ACTIVE_POWER_A_GAIN(_mode, _show, _store, _addr)   \
67 	IIO_DEVICE_ATTR(active_power_a_gain, _mode, _show, _store, _addr)
68 
69 #define IIO_DEV_ATTR_ACTIVE_POWER_B_GAIN(_mode, _show, _store, _addr)   \
70 	IIO_DEVICE_ATTR(active_power_b_gain, _mode, _show, _store, _addr)
71 
72 #define IIO_DEV_ATTR_ACTIVE_POWER_C_GAIN(_mode, _show, _store, _addr)   \
73 	IIO_DEVICE_ATTR(active_power_c_gain, _mode, _show, _store, _addr)
74 
75 #define IIO_DEV_ATTR_REACTIVE_POWER_A_GAIN(_mode, _show, _store, _addr)     \
76 	IIO_DEVICE_ATTR(reactive_power_a_gain, _mode, _show, _store, _addr)
77 
78 #define IIO_DEV_ATTR_REACTIVE_POWER_B_GAIN(_mode, _show, _store, _addr)     \
79 	IIO_DEVICE_ATTR(reactive_power_b_gain, _mode, _show, _store, _addr)
80 
81 #define IIO_DEV_ATTR_REACTIVE_POWER_C_GAIN(_mode, _show, _store, _addr)     \
82 	IIO_DEVICE_ATTR(reactive_power_c_gain, _mode, _show, _store, _addr)
83 
84 #define IIO_DEV_ATTR_CURRENT_A(_show, _addr)			\
85 	IIO_DEVICE_ATTR(current_a, 0444, _show, NULL, _addr)
86 
87 #define IIO_DEV_ATTR_CURRENT_B(_show, _addr)			\
88 	IIO_DEVICE_ATTR(current_b, 0444, _show, NULL, _addr)
89 
90 #define IIO_DEV_ATTR_CURRENT_C(_show, _addr)			\
91 	IIO_DEVICE_ATTR(current_c, 0444, _show, NULL, _addr)
92 
93 #define IIO_DEV_ATTR_VOLT_A(_show, _addr)			\
94 	IIO_DEVICE_ATTR(volt_a, 0444, _show, NULL, _addr)
95 
96 #define IIO_DEV_ATTR_VOLT_B(_show, _addr)			\
97 	IIO_DEVICE_ATTR(volt_b, 0444, _show, NULL, _addr)
98 
99 #define IIO_DEV_ATTR_VOLT_C(_show, _addr)			\
100 	IIO_DEVICE_ATTR(volt_c, 0444, _show, NULL, _addr)
101 
102 #define IIO_DEV_ATTR_AENERGY(_show, _addr)			\
103 	IIO_DEVICE_ATTR(aenergy, 0444, _show, NULL, _addr)
104 
105 #define IIO_DEV_ATTR_LENERGY(_show, _addr)			\
106 	IIO_DEVICE_ATTR(lenergy, 0444, _show, NULL, _addr)
107 
108 #define IIO_DEV_ATTR_RAENERGY(_show, _addr)			\
109 	IIO_DEVICE_ATTR(raenergy, 0444, _show, NULL, _addr)
110 
111 #define IIO_DEV_ATTR_LAENERGY(_show, _addr)			\
112 	IIO_DEVICE_ATTR(laenergy, 0444, _show, NULL, _addr)
113 
114 #define IIO_DEV_ATTR_VAENERGY(_show, _addr)			\
115 	IIO_DEVICE_ATTR(vaenergy, 0444, _show, NULL, _addr)
116 
117 #define IIO_DEV_ATTR_LVAENERGY(_show, _addr)			\
118 	IIO_DEVICE_ATTR(lvaenergy, 0444, _show, NULL, _addr)
119 
120 #define IIO_DEV_ATTR_RVAENERGY(_show, _addr)			\
121 	IIO_DEVICE_ATTR(rvaenergy, 0444, _show, NULL, _addr)
122 
123 #define IIO_DEV_ATTR_LVARENERGY(_show, _addr)			\
124 	IIO_DEVICE_ATTR(lvarenergy, 0444, _show, NULL, _addr)
125 
126 #define IIO_DEV_ATTR_CHKSUM(_show, _addr)                       \
127 	IIO_DEVICE_ATTR(chksum, 0444, _show, NULL, _addr)
128 
129 #define IIO_DEV_ATTR_ANGLE0(_show, _addr)                       \
130 	IIO_DEVICE_ATTR(angle0, 0444, _show, NULL, _addr)
131 
132 #define IIO_DEV_ATTR_ANGLE1(_show, _addr)                       \
133 	IIO_DEVICE_ATTR(angle1, 0444, _show, NULL, _addr)
134 
135 #define IIO_DEV_ATTR_ANGLE2(_show, _addr)                       \
136 	IIO_DEVICE_ATTR(angle2, 0444, _show, NULL, _addr)
137 
138 #define IIO_DEV_ATTR_AWATTHR(_show, _addr)			\
139 	IIO_DEVICE_ATTR(awatthr, 0444, _show, NULL, _addr)
140 
141 #define IIO_DEV_ATTR_BWATTHR(_show, _addr)			\
142 	IIO_DEVICE_ATTR(bwatthr, 0444, _show, NULL, _addr)
143 
144 #define IIO_DEV_ATTR_CWATTHR(_show, _addr)			\
145 	IIO_DEVICE_ATTR(cwatthr, 0444, _show, NULL, _addr)
146 
147 #define IIO_DEV_ATTR_AFWATTHR(_show, _addr)			\
148 	IIO_DEVICE_ATTR(afwatthr, 0444, _show, NULL, _addr)
149 
150 #define IIO_DEV_ATTR_BFWATTHR(_show, _addr)			\
151 	IIO_DEVICE_ATTR(bfwatthr, 0444, _show, NULL, _addr)
152 
153 #define IIO_DEV_ATTR_CFWATTHR(_show, _addr)			\
154 	IIO_DEVICE_ATTR(cfwatthr, 0444, _show, NULL, _addr)
155 
156 #define IIO_DEV_ATTR_AVARHR(_show, _addr)			\
157 	IIO_DEVICE_ATTR(avarhr, 0444, _show, NULL, _addr)
158 
159 #define IIO_DEV_ATTR_BVARHR(_show, _addr)			\
160 	IIO_DEVICE_ATTR(bvarhr, 0444, _show, NULL, _addr)
161 
162 #define IIO_DEV_ATTR_CVARHR(_show, _addr)			\
163 	IIO_DEVICE_ATTR(cvarhr, 0444, _show, NULL, _addr)
164 
165 #define IIO_DEV_ATTR_AVAHR(_show, _addr)			\
166 	IIO_DEVICE_ATTR(avahr, 0444, _show, NULL, _addr)
167 
168 #define IIO_DEV_ATTR_BVAHR(_show, _addr)			\
169 	IIO_DEVICE_ATTR(bvahr, 0444, _show, NULL, _addr)
170 
171 #define IIO_DEV_ATTR_CVAHR(_show, _addr)			\
172 	IIO_DEVICE_ATTR(cvahr, 0444, _show, NULL, _addr)
173 
174 #define IIO_DEV_ATTR_IOS(_mode, _show, _store, _addr)                \
175 	IIO_DEVICE_ATTR(ios, _mode, _show, _store, _addr)
176 
177 #define IIO_DEV_ATTR_VOS(_mode, _show, _store, _addr)                \
178 	IIO_DEVICE_ATTR(vos, _mode, _show, _store, _addr)
179 
180 #define IIO_DEV_ATTR_PHCAL(_mode, _show, _store, _addr)                \
181 	IIO_DEVICE_ATTR(phcal, _mode, _show, _store, _addr)
182 
183 #define IIO_DEV_ATTR_APHCAL(_mode, _show, _store, _addr)                \
184 	IIO_DEVICE_ATTR(aphcal, _mode, _show, _store, _addr)
185 
186 #define IIO_DEV_ATTR_BPHCAL(_mode, _show, _store, _addr)                \
187 	IIO_DEVICE_ATTR(bphcal, _mode, _show, _store, _addr)
188 
189 #define IIO_DEV_ATTR_CPHCAL(_mode, _show, _store, _addr)                \
190 	IIO_DEVICE_ATTR(cphcal, _mode, _show, _store, _addr)
191 
192 #define IIO_DEV_ATTR_APOS(_mode, _show, _store, _addr)                \
193 	IIO_DEVICE_ATTR(apos, _mode, _show, _store, _addr)
194 
195 #define IIO_DEV_ATTR_AAPOS(_mode, _show, _store, _addr)                \
196 	IIO_DEVICE_ATTR(aapos, _mode, _show, _store, _addr)
197 
198 #define IIO_DEV_ATTR_BAPOS(_mode, _show, _store, _addr)                \
199 	IIO_DEVICE_ATTR(bapos, _mode, _show, _store, _addr)
200 
201 #define IIO_DEV_ATTR_CAPOS(_mode, _show, _store, _addr)                \
202 	IIO_DEVICE_ATTR(capos, _mode, _show, _store, _addr)
203 
204 #define IIO_DEV_ATTR_AVRMSGAIN(_mode, _show, _store, _addr)                \
205 	IIO_DEVICE_ATTR(avrmsgain, _mode, _show, _store, _addr)
206 
207 #define IIO_DEV_ATTR_BVRMSGAIN(_mode, _show, _store, _addr)                \
208 	IIO_DEVICE_ATTR(bvrmsgain, _mode, _show, _store, _addr)
209 
210 #define IIO_DEV_ATTR_CVRMSGAIN(_mode, _show, _store, _addr)                \
211 	IIO_DEVICE_ATTR(cvrmsgain, _mode, _show, _store, _addr)
212 
213 #define IIO_DEV_ATTR_AIGAIN(_mode, _show, _store, _addr)                \
214 	IIO_DEVICE_ATTR(aigain, _mode, _show, _store, _addr)
215 
216 #define IIO_DEV_ATTR_BIGAIN(_mode, _show, _store, _addr)                \
217 	IIO_DEVICE_ATTR(bigain, _mode, _show, _store, _addr)
218 
219 #define IIO_DEV_ATTR_CIGAIN(_mode, _show, _store, _addr)                \
220 	IIO_DEVICE_ATTR(cigain, _mode, _show, _store, _addr)
221 
222 #define IIO_DEV_ATTR_NIGAIN(_mode, _show, _store, _addr)                \
223 	IIO_DEVICE_ATTR(nigain, _mode, _show, _store, _addr)
224 
225 #define IIO_DEV_ATTR_AVGAIN(_mode, _show, _store, _addr)                \
226 	IIO_DEVICE_ATTR(avgain, _mode, _show, _store, _addr)
227 
228 #define IIO_DEV_ATTR_BVGAIN(_mode, _show, _store, _addr)                \
229 	IIO_DEVICE_ATTR(bvgain, _mode, _show, _store, _addr)
230 
231 #define IIO_DEV_ATTR_CVGAIN(_mode, _show, _store, _addr)                \
232 	IIO_DEVICE_ATTR(cvgain, _mode, _show, _store, _addr)
233 
234 #define IIO_DEV_ATTR_WGAIN(_mode, _show, _store, _addr)                \
235 	IIO_DEVICE_ATTR(wgain, _mode, _show, _store, _addr)
236 
237 #define IIO_DEV_ATTR_WDIV(_mode, _show, _store, _addr)                \
238 	IIO_DEVICE_ATTR(wdiv, _mode, _show, _store, _addr)
239 
240 #define IIO_DEV_ATTR_CFNUM(_mode, _show, _store, _addr)                \
241 	IIO_DEVICE_ATTR(cfnum, _mode, _show, _store, _addr)
242 
243 #define IIO_DEV_ATTR_CFDEN(_mode, _show, _store, _addr)                \
244 	IIO_DEVICE_ATTR(cfden, _mode, _show, _store, _addr)
245 
246 #define IIO_DEV_ATTR_CF1DEN(_mode, _show, _store, _addr)                \
247 	IIO_DEVICE_ATTR(cf1den, _mode, _show, _store, _addr)
248 
249 #define IIO_DEV_ATTR_CF2DEN(_mode, _show, _store, _addr)                \
250 	IIO_DEVICE_ATTR(cf2den, _mode, _show, _store, _addr)
251 
252 #define IIO_DEV_ATTR_CF3DEN(_mode, _show, _store, _addr)                \
253 	IIO_DEVICE_ATTR(cf3den, _mode, _show, _store, _addr)
254 
255 #define IIO_DEV_ATTR_IRMS(_mode, _show, _store, _addr)                \
256 	IIO_DEVICE_ATTR(irms, _mode, _show, _store, _addr)
257 
258 #define IIO_DEV_ATTR_VRMS(_mode, _show, _store, _addr)                \
259 	IIO_DEVICE_ATTR(vrms, _mode, _show, _store, _addr)
260 
261 #define IIO_DEV_ATTR_AIRMS(_mode, _show, _store, _addr)                \
262 	IIO_DEVICE_ATTR(airms, _mode, _show, _store, _addr)
263 
264 #define IIO_DEV_ATTR_BIRMS(_mode, _show, _store, _addr)                \
265 	IIO_DEVICE_ATTR(birms, _mode, _show, _store, _addr)
266 
267 #define IIO_DEV_ATTR_CIRMS(_mode, _show, _store, _addr)                \
268 	IIO_DEVICE_ATTR(cirms, _mode, _show, _store, _addr)
269 
270 #define IIO_DEV_ATTR_NIRMS(_mode, _show, _store, _addr)                \
271 	IIO_DEVICE_ATTR(nirms, _mode, _show, _store, _addr)
272 
273 #define IIO_DEV_ATTR_AVRMS(_mode, _show, _store, _addr)                \
274 	IIO_DEVICE_ATTR(avrms, _mode, _show, _store, _addr)
275 
276 #define IIO_DEV_ATTR_BVRMS(_mode, _show, _store, _addr)                \
277 	IIO_DEVICE_ATTR(bvrms, _mode, _show, _store, _addr)
278 
279 #define IIO_DEV_ATTR_CVRMS(_mode, _show, _store, _addr)                \
280 	IIO_DEVICE_ATTR(cvrms, _mode, _show, _store, _addr)
281 
282 #define IIO_DEV_ATTR_IRMSOS(_mode, _show, _store, _addr)                \
283 	IIO_DEVICE_ATTR(irmsos, _mode, _show, _store, _addr)
284 
285 #define IIO_DEV_ATTR_VRMSOS(_mode, _show, _store, _addr)                \
286 	IIO_DEVICE_ATTR(vrmsos, _mode, _show, _store, _addr)
287 
288 #define IIO_DEV_ATTR_AIRMSOS(_mode, _show, _store, _addr)                \
289 	IIO_DEVICE_ATTR(airmsos, _mode, _show, _store, _addr)
290 
291 #define IIO_DEV_ATTR_BIRMSOS(_mode, _show, _store, _addr)                \
292 	IIO_DEVICE_ATTR(birmsos, _mode, _show, _store, _addr)
293 
294 #define IIO_DEV_ATTR_CIRMSOS(_mode, _show, _store, _addr)                \
295 	IIO_DEVICE_ATTR(cirmsos, _mode, _show, _store, _addr)
296 
297 #define IIO_DEV_ATTR_AVRMSOS(_mode, _show, _store, _addr)                \
298 	IIO_DEVICE_ATTR(avrmsos, _mode, _show, _store, _addr)
299 
300 #define IIO_DEV_ATTR_BVRMSOS(_mode, _show, _store, _addr)                \
301 	IIO_DEVICE_ATTR(bvrmsos, _mode, _show, _store, _addr)
302 
303 #define IIO_DEV_ATTR_CVRMSOS(_mode, _show, _store, _addr)                \
304 	IIO_DEVICE_ATTR(cvrmsos, _mode, _show, _store, _addr)
305 
306 #define IIO_DEV_ATTR_VAGAIN(_mode, _show, _store, _addr)                \
307 	IIO_DEVICE_ATTR(vagain, _mode, _show, _store, _addr)
308 
309 #define IIO_DEV_ATTR_PGA_GAIN(_mode, _show, _store, _addr)                \
310 	IIO_DEVICE_ATTR(pga_gain, _mode, _show, _store, _addr)
311 
312 #define IIO_DEV_ATTR_VADIV(_mode, _show, _store, _addr)                \
313 	IIO_DEVICE_ATTR(vadiv, _mode, _show, _store, _addr)
314 
315 #define IIO_DEV_ATTR_LINECYC(_mode, _show, _store, _addr)                \
316 	IIO_DEVICE_ATTR(linecyc, _mode, _show, _store, _addr)
317 
318 #define IIO_DEV_ATTR_SAGCYC(_mode, _show, _store, _addr)                \
319 	IIO_DEVICE_ATTR(sagcyc, _mode, _show, _store, _addr)
320 
321 #define IIO_DEV_ATTR_CFCYC(_mode, _show, _store, _addr)                \
322 	IIO_DEVICE_ATTR(cfcyc, _mode, _show, _store, _addr)
323 
324 #define IIO_DEV_ATTR_PEAKCYC(_mode, _show, _store, _addr)                \
325 	IIO_DEVICE_ATTR(peakcyc, _mode, _show, _store, _addr)
326 
327 #define IIO_DEV_ATTR_SAGLVL(_mode, _show, _store, _addr)                \
328 	IIO_DEVICE_ATTR(saglvl, _mode, _show, _store, _addr)
329 
330 #define IIO_DEV_ATTR_IPKLVL(_mode, _show, _store, _addr)                \
331 	IIO_DEVICE_ATTR(ipklvl, _mode, _show, _store, _addr)
332 
333 #define IIO_DEV_ATTR_VPKLVL(_mode, _show, _store, _addr)                \
334 	IIO_DEVICE_ATTR(vpklvl, _mode, _show, _store, _addr)
335 
336 #define IIO_DEV_ATTR_IPEAK(_mode, _show, _store, _addr)			\
337 	IIO_DEVICE_ATTR(ipeak, _mode, _show, _store, _addr)
338 
339 #define IIO_DEV_ATTR_RIPEAK(_mode, _show, _store, _addr)		\
340 	IIO_DEVICE_ATTR(ripeak, _mode, _show, _store, _addr)
341 
342 #define IIO_DEV_ATTR_VPEAK(_mode, _show, _store, _addr)			\
343 	IIO_DEVICE_ATTR(vpeak, _mode, _show, _store, _addr)
344 
345 #define IIO_DEV_ATTR_RVPEAK(_mode, _show, _store, _addr)		\
346 	IIO_DEVICE_ATTR(rvpeak, _mode, _show, _store, _addr)
347 
348 #define IIO_DEV_ATTR_VPERIOD(_mode, _show, _store, _addr)		\
349 	IIO_DEVICE_ATTR(vperiod, _mode, _show, _store, _addr)
350 
351 /* active energy register, AENERGY, is more than half full */
352 #define IIO_EVENT_ATTR_AENERGY_HALF_FULL(_evlist, _show, _store, _mask) \
353 	IIO_EVENT_ATTR_SH(aenergy_half_full, _evlist, _show, _store, _mask)
354 
355 /* a SAG on the line voltage */
356 #define IIO_EVENT_ATTR_LINE_VOLT_SAG(_evlist, _show, _store, _mask) \
357 	IIO_EVENT_ATTR_SH(line_volt_sag, _evlist, _show, _store, _mask)
358 
359 /*
360  * Indicates the end of energy accumulation over an integer number
361  * of half line cycles
362  */
363 #define IIO_EVENT_ATTR_CYCEND(_evlist, _show, _store, _mask) \
364 	IIO_EVENT_ATTR_SH(cycend, _evlist, _show, _store, _mask)
365 
366 /* on the rising and falling edge of the voltage waveform */
367 #define IIO_EVENT_ATTR_ZERO_CROSS(_evlist, _show, _store, _mask) \
368 	IIO_EVENT_ATTR_SH(zero_cross, _evlist, _show, _store, _mask)
369 
370 /* the active energy register has overflowed */
371 #define IIO_EVENT_ATTR_AENERGY_OVERFLOW(_evlist, _show, _store, _mask) \
372 	IIO_EVENT_ATTR_SH(aenergy_overflow, _evlist, _show, _store, _mask)
373 
374 /* the apparent energy register has overflowed */
375 #define IIO_EVENT_ATTR_VAENERGY_OVERFLOW(_evlist, _show, _store, _mask) \
376 	IIO_EVENT_ATTR_SH(vaenergy_overflow, _evlist, _show, _store, _mask)
377 
378 /* the active energy register, VAENERGY, is more than half full */
379 #define IIO_EVENT_ATTR_VAENERGY_HALF_FULL(_evlist, _show, _store, _mask) \
380 	IIO_EVENT_ATTR_SH(vaenergy_half_full, _evlist, _show, _store, _mask)
381 
382 /* the power has gone from negative to positive */
383 #define IIO_EVENT_ATTR_PPOS(_evlist, _show, _store, _mask) \
384 	IIO_EVENT_ATTR_SH(ppos, _evlist, _show, _store, _mask)
385 
386 /* the power has gone from positive to negative */
387 #define IIO_EVENT_ATTR_PNEG(_evlist, _show, _store, _mask) \
388 	IIO_EVENT_ATTR_SH(pneg, _evlist, _show, _store, _mask)
389 
390 /* waveform sample from Channel 1 has exceeded the IPKLVL value */
391 #define IIO_EVENT_ATTR_IPKLVL_EXC(_evlist, _show, _store, _mask) \
392 	IIO_EVENT_ATTR_SH(ipklvl_exc, _evlist, _show, _store, _mask)
393 
394 /* waveform sample from Channel 2 has exceeded the VPKLVL value */
395 #define IIO_EVENT_ATTR_VPKLVL_EXC(_evlist, _show, _store, _mask) \
396 	IIO_EVENT_ATTR_SH(vpklvl_exc, _evlist, _show, _store, _mask)
397 
398 #endif /* _METER_H */
399