Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4851d97d authored by Michael Hennerich's avatar Michael Hennerich Committed by Greg Kroah-Hartman
Browse files

Staging: IIO: dds.h convenience macros



Changes since RFC/v1:
IIO: Apply list review feedback

Apply list review feedback:
	Rename attributes to fit IIO convention used in other drivers.
	Provide ddsX_out_enable as opposed to ddsX_out_disable.
	Fix typos.

Changes since v2:
IIO: dds.h: Apply more list review feedback

	Fix mixture of X and [n] notation for indices.
	Remove duplicated descriptions.
	Add store methods to some dds convenience macros.

Signed-off-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
Reviewed-by: default avatarJonathan Cameron <jic23@cam.ac.uk>
Acked-by: default avatarJonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent f8ce33bb
Loading
Loading
Loading
Loading
+110 −0
Original line number Diff line number Diff line
/*
 * dds.h - sysfs attributes associated with DDS devices
 *
 * Copyright (c) 2010 Analog Devices Inc.
 *
 * Licensed under the GPL-2 or later.
 */

/**
 * /sys/bus/iio/devices/.../ddsX_freqY
 */

#define IIO_DEV_ATTR_FREQ(_channel, _num, _mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(dds##_channel##_freq##_num,			\
			_mode, _show, _store, _addr)

/**
 * /sys/bus/iio/devices/.../ddsX_freqY_scale
 */

#define IIO_CONST_ATTR_FREQ_SCALE(_channel, _string)			\
	IIO_CONST_ATTR(dds##_channel##_freq_scale, _string)

/**
 * /sys/bus/iio/devices/.../ddsX_freqsymbol
 */

#define IIO_DEV_ATTR_FREQSYMBOL(_channel, _mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(dds##_channel##_freqsymbol,			\
			_mode, _show, _store, _addr);

/**
 * /sys/bus/iio/devices/.../ddsX_phaseY
 */

#define IIO_DEV_ATTR_PHASE(_channel, _num, _mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(dds##_channel##_phase##_num,			\
			_mode, _show, _store, _addr)

/**
 * /sys/bus/iio/devices/.../ddsX_phaseY_scale
 */

#define IIO_CONST_ATTR_PHASE_SCALE(_channel, _string)			\
	IIO_CONST_ATTR(dds##_channel##_phase_scale, _string)

/**
 * /sys/bus/iio/devices/.../ddsX_phasesymbol
 */

#define IIO_DEV_ATTR_PHASESYMBOL(_channel, _mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(dds##_channel##_phasesymbol,			\
			_mode, _show, _store, _addr);

/**
 * /sys/bus/iio/devices/.../ddsX_pincontrol_en
 */

#define IIO_DEV_ATTR_PINCONTROL_EN(_channel, _mode, _show, _store, _addr)\
	IIO_DEVICE_ATTR(dds##_channel##_pincontrol_en,			\
			_mode, _show, _store, _addr);

/**
 * /sys/bus/iio/devices/.../ddsX_pincontrol_freq_en
 */

#define IIO_DEV_ATTR_PINCONTROL_FREQ_EN(_channel, _mode, _show, _store, _addr)\
	IIO_DEVICE_ATTR(dds##_channel##_pincontrol_freq_en,		\
			_mode, _show, _store, _addr);

/**
 * /sys/bus/iio/devices/.../ddsX_pincontrol_phase_en
 */

#define IIO_DEV_ATTR_PINCONTROL_PHASE_EN(_channel, _mode, _show, _store, _addr)\
	IIO_DEVICE_ATTR(dds##_channel##_pincontrol_phase_en,		\
			_mode, _show, _store, _addr);

/**
 * /sys/bus/iio/devices/.../ddsX_out_enable
 */

#define IIO_DEV_ATTR_OUT_ENABLE(_channel, _mode, _show, _store, _addr)	\
	IIO_DEVICE_ATTR(dds##_channel##_out_enable,			\
			_mode, _show, _store, _addr);

/**
 * /sys/bus/iio/devices/.../ddsX_outY_enable
 */

#define IIO_DEV_ATTR_OUTY_ENABLE(_channel, _output,			\
			_mode, _show, _store, _addr)			\
	IIO_DEVICE_ATTR(dds##_channel##_out##_output##_enable,		\
			_mode, _show, _store, _addr);

/**
 * /sys/bus/iio/devices/.../ddsX_outY_wavetype
 */

#define IIO_DEV_ATTR_OUT_WAVETYPE(_channel, _output, _store, _addr)	\
	IIO_DEVICE_ATTR(dds##_channel##_out##_output##_wavetype,	\
			S_IWUSR, NULL, _store, _addr);

/**
 * /sys/bus/iio/devices/.../ddsX_outY_wavetype_available
 */

#define IIO_CONST_ATTR_OUT_WAVETYPES_AVAILABLE(_channel, _output, _modes)\
	IIO_CONST_ATTR(dds##_channel##_out##_output##_wavetype_available,\
			_modes);