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