Skip to content

Commit

Permalink
staging:iio: Add documentation for IIO_EVENT_CODE
Browse files Browse the repository at this point in the history
Document the different parameters of the IIO_EVENT_CODE macro and friends.

While we are at it standardise the name of channel type parameter.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Lars-Peter Clausen authored and Greg Kroah-Hartman committed Nov 27, 2011
1 parent 65d5ff8 commit 3014cd9
Showing 1 changed file with 33 additions and 4 deletions.
37 changes: 33 additions & 4 deletions drivers/staging/iio/events.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,18 @@ enum iio_event_direction {
IIO_EV_DIR_FALLING,
};

/**
* IIO_EVENT_CODE() - create event identifier
* @chan_type: Type of the channel. Should be one of enum iio_chan_type.
* @diff: Whether the event is for an differential channel or not.
* @modifier: Modifier for the channel. Should be one of enum iio_modifier.
* @direction: Direction of the event. One of enum iio_event_direction.
* @type: Type of the event. Should be one enum iio_event_type.
* @chan: Channel number for non-differential channels.
* @chan1: First channel number for differential channels.
* @chan2: Second channel number for differential channels.
*/

#define IIO_EVENT_CODE(chan_type, diff, modifier, direction, \
type, chan, chan1, chan2) \
(((u64)type << 56) | ((u64)diff << 55) | \
Expand All @@ -51,12 +63,29 @@ enum iio_event_direction {
#define IIO_EV_BIT(type, direction) \
(1 << (type*IIO_EV_DIR_MAX + direction))

#define IIO_MOD_EVENT_CODE(channelclass, number, modifier, \
/**
* IIO_MOD_EVENT_CODE() - create event identifier for modified channels
* @chan_type: Type of the channel. Should be one of enum iio_chan_type.
* @number: Channel number.
* @modifier: Modifier for the channel. Should be one of enum iio_modifier.
* @type: Type of the event. Should be one enum iio_event_type.
* @direction: Direction of the event. One of enum iio_event_direction.
*/

#define IIO_MOD_EVENT_CODE(chan_type, number, modifier, \
type, direction) \
IIO_EVENT_CODE(channelclass, 0, modifier, direction, type, number, 0, 0)
IIO_EVENT_CODE(chan_type, 0, modifier, direction, type, number, 0, 0)

/**
* IIO_UNMOD_EVENT_CODE() - create event identifier for unmodified channels
* @chan_type: Type of the channel. Should be one of enum iio_chan_type.
* @number: Channel number.
* @type: Type of the event. Should be one enum iio_event_type.
* @direction: Direction of the event. One of enum iio_event_direction.
*/

#define IIO_UNMOD_EVENT_CODE(channelclass, number, type, direction) \
IIO_EVENT_CODE(channelclass, 0, 0, direction, type, number, 0, 0)
#define IIO_UNMOD_EVENT_CODE(chan_type, number, type, direction) \
IIO_EVENT_CODE(chan_type, 0, 0, direction, type, number, 0, 0)

#define IIO_EVENT_CODE_EXTRACT_TYPE(mask) ((mask >> 56) & 0xFF)

Expand Down

0 comments on commit 3014cd9

Please sign in to comment.