Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Industrial I/O in kernel access map definitions for board files.
0004  *
0005  * Copyright (c) 2011 Jonathan Cameron
0006  */
0007 
0008 #ifndef __LINUX_IIO_MACHINE_H__
0009 #define __LINUX_IIO_MACHINE_H__
0010 
0011 /**
0012  * struct iio_map - description of link between consumer and device channels
0013  * @adc_channel_label:  Label used to identify the channel on the provider.
0014  *          This is matched against the datasheet_name element
0015  *          of struct iio_chan_spec.
0016  * @consumer_dev_name:  Name to uniquely identify the consumer device.
0017  * @consumer_channel:   Unique name used to identify the channel on the
0018  *          consumer side.
0019  * @consumer_data:  Data about the channel for use by the consumer driver.
0020  */
0021 struct iio_map {
0022     const char *adc_channel_label;
0023     const char *consumer_dev_name;
0024     const char *consumer_channel;
0025     void *consumer_data;
0026 };
0027 
0028 #define IIO_MAP(_provider_channel, _consumer_dev_name, _consumer_channel) \
0029 {                                     \
0030     .adc_channel_label = _provider_channel,               \
0031     .consumer_dev_name = _consumer_dev_name,              \
0032     .consumer_channel  = _consumer_channel,               \
0033 }
0034 
0035 #endif