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