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 | |