linux/include/linux/iio/machine.h
<<
>>
Prefs
   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 */
  24struct 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