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

rescale.h (833B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright (C) 2018 Axentia Technologies AB
      4 */
      5
      6#ifndef __IIO_RESCALE_H__
      7#define __IIO_RESCALE_H__
      8
      9#include <linux/types.h>
     10#include <linux/iio/iio.h>
     11
     12struct device;
     13struct rescale;
     14
     15struct rescale_cfg {
     16	enum iio_chan_type type;
     17	int (*props)(struct device *dev, struct rescale *rescale);
     18};
     19
     20struct rescale {
     21	const struct rescale_cfg *cfg;
     22	struct iio_channel *source;
     23	struct iio_chan_spec chan;
     24	struct iio_chan_spec_ext_info *ext_info;
     25	bool chan_processed;
     26	s32 numerator;
     27	s32 denominator;
     28	s32 offset;
     29};
     30
     31int rescale_process_scale(struct rescale *rescale, int scale_type,
     32			  int *val, int *val2);
     33int rescale_process_offset(struct rescale *rescale, int scale_type,
     34			   int scale, int scale2, int schan_off,
     35			   int *val, int *val2);
     36#endif /* __IIO_RESCALE_H__ */