From f4085188e73e98f423d87b6e3c9115d87bd2243c Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Fri, 14 Sep 2012 16:21:00 +0100 Subject: [PATCH] --- yaml --- r: 325362 b: refs/heads/master c: 7985e7c1003bc5cdfa20755f8cfdada946ed8e18 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/iio/industrialio-core.c | 6 ++++++ trunk/include/linux/iio/types.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 17990a641bd1..defaf5b60c61 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ca7d1b32d2a0d4c62533b9401cf9ce4d14d183f7 +refs/heads/master: 7985e7c1003bc5cdfa20755f8cfdada946ed8e18 diff --git a/trunk/drivers/iio/industrialio-core.c b/trunk/drivers/iio/industrialio-core.c index 0499330d6e98..6eb24dbc081e 100644 --- a/trunk/drivers/iio/industrialio-core.c +++ b/trunk/drivers/iio/industrialio-core.c @@ -366,6 +366,7 @@ static ssize_t iio_read_channel_info(struct device *dev, { struct iio_dev *indio_dev = dev_to_iio_dev(dev); struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); + unsigned long long tmp; int val, val2; bool scale_db = false; int ret = indio_dev->info->read_raw(indio_dev, this_attr->c, @@ -391,6 +392,11 @@ static ssize_t iio_read_channel_info(struct device *dev, return sprintf(buf, "-%d.%09u\n", val, -val2); else return sprintf(buf, "%d.%09u\n", val, val2); + case IIO_VAL_FRACTIONAL: + tmp = div_s64((s64)val * 1000000000LL, val2); + val2 = do_div(tmp, 1000000000LL); + val = tmp; + return sprintf(buf, "%d.%09u\n", val, val2); default: return 0; } diff --git a/trunk/include/linux/iio/types.h b/trunk/include/linux/iio/types.h index 44e397705d7f..5c647ecfd5ba 100644 --- a/trunk/include/linux/iio/types.h +++ b/trunk/include/linux/iio/types.h @@ -57,5 +57,6 @@ enum iio_modifier { #define IIO_VAL_INT_PLUS_MICRO 2 #define IIO_VAL_INT_PLUS_NANO 3 #define IIO_VAL_INT_PLUS_MICRO_DB 4 +#define IIO_VAL_FRACTIONAL 10 #endif /* _IIO_TYPES_H_ */