Merge tag 'remoteproc-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad...
[pandora-kernel.git] / drivers / iio / industrialio-core.c
index 2ec266e..6eb24db 100644 (file)
@@ -29,7 +29,7 @@
 #include <linux/iio/sysfs.h>
 #include <linux/iio/events.h>
 
-/* IDA to assign each registered device a unique id*/
+/* IDA to assign each registered device a unique id */
 static DEFINE_IDA(iio_ida);
 
 static dev_t iio_devt;
@@ -99,6 +99,7 @@ static const char * const iio_chan_info_postfix[] = {
        [IIO_CHAN_INFO_FREQUENCY] = "frequency",
        [IIO_CHAN_INFO_PHASE] = "phase",
        [IIO_CHAN_INFO_HARDWAREGAIN] = "hardwaregain",
+       [IIO_CHAN_INFO_HYSTERESIS] = "hysteresis",
 };
 
 const struct iio_chan_spec
@@ -365,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,
@@ -390,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;
        }
@@ -729,7 +736,7 @@ static int iio_device_register_sysfs(struct iio_dev *indio_dev)
        attrcount = attrcount_orig;
        /*
         * New channel registration method - relies on the fact a group does
-        * not need to be initialized if it is name is NULL.
+        * not need to be initialized if its name is NULL.
         */
        if (indio_dev->channels)
                for (i = 0; i < indio_dev->num_channels; i++) {
@@ -980,6 +987,6 @@ EXPORT_SYMBOL(iio_device_unregister);
 subsys_initcall(iio_init);
 module_exit(iio_exit);
 
-MODULE_AUTHOR("Jonathan Cameron <jic23@cam.ac.uk>");
+MODULE_AUTHOR("Jonathan Cameron <jic23@kernel.org>");
 MODULE_DESCRIPTION("Industrial I/O core");
 MODULE_LICENSE("GPL");