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