#include <linux/iio/sysfs.h>

/* metering ic types of attribute */

#define IIO_DEV_ATTR_CURRENT_A_OFFSET(_mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(current_a_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CURRENT_B_OFFSET(_mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(current_b_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CURRENT_C_OFFSET(_mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(current_c_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_VOLT_A_OFFSET(_mode, _show, _store, _addr)      \
	IIO_DEVICE_ATTR(volt_a_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_VOLT_B_OFFSET(_mode, _show, _store, _addr)      \
	IIO_DEVICE_ATTR(volt_b_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_VOLT_C_OFFSET(_mode, _show, _store, _addr)      \
	IIO_DEVICE_ATTR(volt_c_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_REACTIVE_POWER_A_OFFSET(_mode, _show, _store, _addr)   \
	IIO_DEVICE_ATTR(reactive_power_a_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_REACTIVE_POWER_B_OFFSET(_mode, _show, _store, _addr)   \
	IIO_DEVICE_ATTR(reactive_power_b_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_REACTIVE_POWER_C_OFFSET(_mode, _show, _store, _addr)   \
	IIO_DEVICE_ATTR(reactive_power_c_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_ACTIVE_POWER_A_OFFSET(_mode, _show, _store, _addr)     \
	IIO_DEVICE_ATTR(active_power_a_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_ACTIVE_POWER_B_OFFSET(_mode, _show, _store, _addr)     \
	IIO_DEVICE_ATTR(active_power_b_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_ACTIVE_POWER_C_OFFSET(_mode, _show, _store, _addr)     \
	IIO_DEVICE_ATTR(active_power_c_offset, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CURRENT_A_GAIN(_mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(current_a_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CURRENT_B_GAIN(_mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(current_b_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CURRENT_C_GAIN(_mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(current_c_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_APPARENT_POWER_A_GAIN(_mode, _show, _store, _addr)     \
	IIO_DEVICE_ATTR(apparent_power_a_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_APPARENT_POWER_B_GAIN(_mode, _show, _store, _addr)     \
	IIO_DEVICE_ATTR(apparent_power_b_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_APPARENT_POWER_C_GAIN(_mode, _show, _store, _addr)     \
	IIO_DEVICE_ATTR(apparent_power_c_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_ACTIVE_POWER_GAIN(_mode, _show, _store, _addr)     \
	IIO_DEVICE_ATTR(active_power_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_ACTIVE_POWER_A_GAIN(_mode, _show, _store, _addr)   \
	IIO_DEVICE_ATTR(active_power_a_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_ACTIVE_POWER_B_GAIN(_mode, _show, _store, _addr)   \
	IIO_DEVICE_ATTR(active_power_b_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_ACTIVE_POWER_C_GAIN(_mode, _show, _store, _addr)   \
	IIO_DEVICE_ATTR(active_power_c_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_REACTIVE_POWER_A_GAIN(_mode, _show, _store, _addr)     \
	IIO_DEVICE_ATTR(reactive_power_a_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_REACTIVE_POWER_B_GAIN(_mode, _show, _store, _addr)     \
	IIO_DEVICE_ATTR(reactive_power_b_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_REACTIVE_POWER_C_GAIN(_mode, _show, _store, _addr)     \
	IIO_DEVICE_ATTR(reactive_power_c_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CURRENT_A(_show, _addr)			\
	IIO_DEVICE_ATTR(current_a, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_CURRENT_B(_show, _addr)			\
	IIO_DEVICE_ATTR(current_b, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_CURRENT_C(_show, _addr)			\
	IIO_DEVICE_ATTR(current_c, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_VOLT_A(_show, _addr)			\
	IIO_DEVICE_ATTR(volt_a, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_VOLT_B(_show, _addr)			\
	IIO_DEVICE_ATTR(volt_b, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_VOLT_C(_show, _addr)			\
	IIO_DEVICE_ATTR(volt_c, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_AENERGY(_show, _addr)			\
	IIO_DEVICE_ATTR(aenergy, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_LENERGY(_show, _addr)			\
	IIO_DEVICE_ATTR(lenergy, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_RAENERGY(_show, _addr)			\
	IIO_DEVICE_ATTR(raenergy, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_LAENERGY(_show, _addr)			\
	IIO_DEVICE_ATTR(laenergy, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_VAENERGY(_show, _addr)			\
	IIO_DEVICE_ATTR(vaenergy, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_LVAENERGY(_show, _addr)			\
	IIO_DEVICE_ATTR(lvaenergy, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_RVAENERGY(_show, _addr)			\
	IIO_DEVICE_ATTR(rvaenergy, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_LVARENERGY(_show, _addr)			\
	IIO_DEVICE_ATTR(lvarenergy, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_CHKSUM(_show, _addr)                       \
	IIO_DEVICE_ATTR(chksum, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_ANGLE0(_show, _addr)                       \
	IIO_DEVICE_ATTR(angle0, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_ANGLE1(_show, _addr)                       \
	IIO_DEVICE_ATTR(angle1, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_ANGLE2(_show, _addr)                       \
	IIO_DEVICE_ATTR(angle2, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_AWATTHR(_show, _addr)			\
	IIO_DEVICE_ATTR(awatthr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_BWATTHR(_show, _addr)			\
	IIO_DEVICE_ATTR(bwatthr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_CWATTHR(_show, _addr)			\
	IIO_DEVICE_ATTR(cwatthr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_AFWATTHR(_show, _addr)			\
	IIO_DEVICE_ATTR(afwatthr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_BFWATTHR(_show, _addr)			\
	IIO_DEVICE_ATTR(bfwatthr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_CFWATTHR(_show, _addr)			\
	IIO_DEVICE_ATTR(cfwatthr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_AVARHR(_show, _addr)			\
	IIO_DEVICE_ATTR(avarhr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_BVARHR(_show, _addr)			\
	IIO_DEVICE_ATTR(bvarhr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_CVARHR(_show, _addr)			\
	IIO_DEVICE_ATTR(cvarhr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_AVAHR(_show, _addr)			\
	IIO_DEVICE_ATTR(avahr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_BVAHR(_show, _addr)			\
	IIO_DEVICE_ATTR(bvahr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_CVAHR(_show, _addr)			\
	IIO_DEVICE_ATTR(cvahr, S_IRUGO, _show, NULL, _addr)

#define IIO_DEV_ATTR_IOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(ios, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_VOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(vos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_PHCAL(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(phcal, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_APHCAL(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(aphcal, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_BPHCAL(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(bphcal, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CPHCAL(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cphcal, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_APOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(apos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_AAPOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(aapos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_BAPOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(bapos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CAPOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(capos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_AVRMSGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(avrmsgain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_BVRMSGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(bvrmsgain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CVRMSGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cvrmsgain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_AIGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(aigain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_BIGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(bigain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CIGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cigain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_NIGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(nigain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_AVGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(avgain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_BVGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(bvgain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CVGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cvgain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_WGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(wgain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_WDIV(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(wdiv, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CFNUM(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cfnum, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CFDEN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cfden, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CF1DEN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cf1den, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CF2DEN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cf2den, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CF3DEN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cf3den, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_IRMS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(irms, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_VRMS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(vrms, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_AIRMS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(airms, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_BIRMS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(birms, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CIRMS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cirms, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_NIRMS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(nirms, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_AVRMS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(avrms, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_BVRMS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(bvrms, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CVRMS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cvrms, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_IRMSOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(irmsos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_VRMSOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(vrmsos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_AIRMSOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(airmsos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_BIRMSOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(birmsos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CIRMSOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cirmsos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_AVRMSOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(avrmsos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_BVRMSOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(bvrmsos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CVRMSOS(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cvrmsos, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_VAGAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(vagain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_PGA_GAIN(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(pga_gain, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_VADIV(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(vadiv, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_LINECYC(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(linecyc, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_SAGCYC(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(sagcyc, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CFCYC(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(cfcyc, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_PEAKCYC(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(peakcyc, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_SAGLVL(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(saglvl, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_IPKLVL(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(ipklvl, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_VPKLVL(_mode, _show, _store, _addr)                \
	IIO_DEVICE_ATTR(vpklvl, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_IPEAK(_mode, _show, _store, _addr)			\
	IIO_DEVICE_ATTR(ipeak, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_RIPEAK(_mode, _show, _store, _addr)		\
	IIO_DEVICE_ATTR(ripeak, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_VPEAK(_mode, _show, _store, _addr)			\
	IIO_DEVICE_ATTR(vpeak, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_RVPEAK(_mode, _show, _store, _addr)		\
	IIO_DEVICE_ATTR(rvpeak, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_VPERIOD(_mode, _show, _store, _addr)		\
	IIO_DEVICE_ATTR(vperiod, _mode, _show, _store, _addr)

#define IIO_DEV_ATTR_CH_OFF(_num, _mode, _show, _store, _addr)		\
	IIO_DEVICE_ATTR(choff_##_num, _mode, _show, _store, _addr)

/* active energy register, AENERGY, is more than half full */
#define IIO_EVENT_ATTR_AENERGY_HALF_FULL(_evlist, _show, _store, _mask) \
	IIO_EVENT_ATTR_SH(aenergy_half_full, _evlist, _show, _store, _mask)

/* a SAG on the line voltage */
#define IIO_EVENT_ATTR_LINE_VOLT_SAG(_evlist, _show, _store, _mask) \
	IIO_EVENT_ATTR_SH(line_volt_sag, _evlist, _show, _store, _mask)

/*
 * Indicates the end of energy accumulation over an integer number
 * of half line cycles
 */
#define IIO_EVENT_ATTR_CYCEND(_evlist, _show, _store, _mask) \
	IIO_EVENT_ATTR_SH(cycend, _evlist, _show, _store, _mask)

/* on the rising and falling edge of the voltage waveform */
#define IIO_EVENT_ATTR_ZERO_CROSS(_evlist, _show, _store, _mask) \
	IIO_EVENT_ATTR_SH(zero_cross, _evlist, _show, _store, _mask)

/* the active energy register has overflowed */
#define IIO_EVENT_ATTR_AENERGY_OVERFLOW(_evlist, _show, _store, _mask) \
	IIO_EVENT_ATTR_SH(aenergy_overflow, _evlist, _show, _store, _mask)

/* the apparent energy register has overflowed */
#define IIO_EVENT_ATTR_VAENERGY_OVERFLOW(_evlist, _show, _store, _mask) \
	IIO_EVENT_ATTR_SH(vaenergy_overflow, _evlist, _show, _store, _mask)

/* the active energy register, VAENERGY, is more than half full */
#define IIO_EVENT_ATTR_VAENERGY_HALF_FULL(_evlist, _show, _store, _mask) \
	IIO_EVENT_ATTR_SH(vaenergy_half_full, _evlist, _show, _store, _mask)

/* the power has gone from negative to positive */
#define IIO_EVENT_ATTR_PPOS(_evlist, _show, _store, _mask) \
	IIO_EVENT_ATTR_SH(ppos, _evlist, _show, _store, _mask)

/* the power has gone from positive to negative */
#define IIO_EVENT_ATTR_PNEG(_evlist, _show, _store, _mask) \
	IIO_EVENT_ATTR_SH(pneg, _evlist, _show, _store, _mask)

/* waveform sample from Channel 1 has exceeded the IPKLVL value */
#define IIO_EVENT_ATTR_IPKLVL_EXC(_evlist, _show, _store, _mask) \
	IIO_EVENT_ATTR_SH(ipklvl_exc, _evlist, _show, _store, _mask)

/* waveform sample from Channel 2 has exceeded the VPKLVL value */
#define IIO_EVENT_ATTR_VPKLVL_EXC(_evlist, _show, _store, _mask) \
	IIO_EVENT_ATTR_SH(vpklvl_exc, _evlist, _show, _store, _mask)

