Merge tag 'acpi-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
[linux-2.6-microblaze.git] / include / linux / iio / machine.h
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