cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

driver.h (1373B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Industrial I/O in kernel access map interface.
      4 *
      5 * Copyright (c) 2011 Jonathan Cameron
      6 */
      7
      8#ifndef _IIO_INKERN_H_
      9#define _IIO_INKERN_H_
     10
     11struct device;
     12struct iio_dev;
     13struct iio_map;
     14
     15/**
     16 * iio_map_array_register() - tell the core about inkernel consumers
     17 * @indio_dev:	provider device
     18 * @map:	array of mappings specifying association of channel with client
     19 */
     20int iio_map_array_register(struct iio_dev *indio_dev,
     21			   struct iio_map *map);
     22
     23/**
     24 * iio_map_array_unregister() - tell the core to remove consumer mappings for
     25 *				the given provider device
     26 * @indio_dev:	provider device
     27 */
     28int iio_map_array_unregister(struct iio_dev *indio_dev);
     29
     30/**
     31 * devm_iio_map_array_register - device-managed version of iio_map_array_register
     32 * @dev:	Device object to which to bind the unwinding of this registration
     33 * @indio_dev:	Pointer to the iio_dev structure
     34 * @maps:	Pointer to an IIO map object which is to be registered to this IIO device
     35 *
     36 * This function will call iio_map_array_register() to register an IIO map object
     37 * and will also hook a callback to the iio_map_array_unregister() function to
     38 * handle de-registration of the IIO map object when the device's refcount goes to
     39 * zero.
     40 */
     41int devm_iio_map_array_register(struct device *dev, struct iio_dev *indio_dev, struct iio_map *maps);
     42
     43#endif