1 /* 2 * Industrial I/O in kernel access map definitions for board files. 3 * 4 * Copyright (c) 2011 Jonathan Cameron 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License version 2 as published by 8 * the Free Software Foundation. 9 */ 10 11 #ifndef __LINUX_IIO_MACHINE_H__ 12 #define __LINUX_IIO_MACHINE_H__ 13 14 /** 15 * struct iio_map - description of link between consumer and device channels 16 * @adc_channel_label: Label used to identify the channel on the provider. 17 * This is matched against the datasheet_name element 18 * of struct iio_chan_spec. 19 * @consumer_dev_name: Name to uniquely identify the consumer device. 20 * @consumer_channel: Unique name used to identify the channel on the 21 * consumer side. 22 * @consumer_data: Data about the channel for use by the consumer driver. 23 */ 24 struct iio_map { 25 const char *adc_channel_label; 26 const char *consumer_dev_name; 27 const char *consumer_channel; 28 void *consumer_data; 29 }; 30 31 #define IIO_MAP(_provider_channel, _consumer_dev_name, _consumer_channel) \ 32 { \ 33 .adc_channel_label = _provider_channel, \ 34 .consumer_dev_name = _consumer_dev_name, \ 35 .consumer_channel = _consumer_channel, \ 36 } 37 38 #endif 39