machine.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  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. #ifndef __LINUX_IIO_MACHINE_H__
  8. #define __LINUX_IIO_MACHINE_H__
  9. /**
  10. * struct iio_map - description of link between consumer and device channels
  11. * @adc_channel_label: Label used to identify the channel on the provider.
  12. * This is matched against the datasheet_name element
  13. * of struct iio_chan_spec.
  14. * @consumer_dev_name: Name to uniquely identify the consumer device.
  15. * @consumer_channel: Unique name used to identify the channel on the
  16. * consumer side.
  17. * @consumer_data: Data about the channel for use by the consumer driver.
  18. */
  19. struct iio_map {
  20. const char *adc_channel_label;
  21. const char *consumer_dev_name;
  22. const char *consumer_channel;
  23. void *consumer_data;
  24. };
  25. #define IIO_MAP(_provider_channel, _consumer_dev_name, _consumer_channel) \
  26. { \
  27. .adc_channel_label = _provider_channel, \
  28. .consumer_dev_name = _consumer_dev_name, \
  29. .consumer_channel = _consumer_channel, \
  30. }
  31. #endif