Browse Source

iio: industrialio-core: introduce IIO_VAL_INT_PLUS_NANO

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Michael Hennerich 14 years ago
parent
commit
71646e2c7a
2 changed files with 6 additions and 0 deletions
  1. 1 0
      drivers/staging/iio/iio.h
  2. 5 0
      drivers/staging/iio/industrialio-core.c

+ 1 - 0
drivers/staging/iio/iio.h

@@ -202,6 +202,7 @@ static inline s64 iio_get_time_ns(void)
  * call to iio_device_register. */
 #define IIO_VAL_INT 1
 #define IIO_VAL_INT_PLUS_MICRO 2
+#define IIO_VAL_INT_PLUS_NANO 3
 
 /**
  * struct iio_info - constant information about device

+ 5 - 0
drivers/staging/iio/industrialio-core.c

@@ -396,6 +396,11 @@ static ssize_t iio_read_channel_info(struct device *dev,
 			return sprintf(buf, "-%d.%06u\n", val, -val2);
 		else
 			return sprintf(buf, "%d.%06u\n", val, val2);
+	} else if (ret == IIO_VAL_INT_PLUS_NANO) {
+		if (val2 < 0)
+			return sprintf(buf, "-%d.%09u\n", val, -val2);
+		else
+			return sprintf(buf, "%d.%09u\n", val, val2);
 	} else
 		return 0;
 }