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 12 struct device; 13 struct rescale; 14 15 struct rescale_cfg { 16 enum iio_chan_type type; 17 int (*props)(struct device *dev, struct rescale *rescale); 18 }; 19 20 struct 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 31 int rescale_process_scale(struct rescale *rescale, int scale_type, 32 int *val, int *val2); 33 int 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__ */ 37
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.