iio: core: Introduce IIO_CHAN_INFO_OVERSAMPLING_RATIO
authorIrina Tirdea <irina.tirdea@intel.com>
Wed, 29 Apr 2015 18:16:39 +0000 (21:16 +0300)
committerJonathan Cameron <jic23@kernel.org>
Sun, 10 May 2015 19:31:44 +0000 (20:31 +0100)
Some magnetometers can perform a number of repetitions in HW
for each measurement to increase accuracy. One example is
Bosch BMC150:
http://ae-bst.resource.bosch.com/media/products/dokumente/bmc150/BST-BMC150-DS000-04.pdf.

Introduce an interface to set the oversampling ratio
for these devices.

Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Documentation/ABI/testing/sysfs-bus-iio
drivers/iio/industrialio-core.c
include/linux/iio/iio.h

index 866b4ec4aab698ec0ba4bf4e287985d34403817e..e46c71fbd0476bfc5a1d435234415783ad962bc0 100644 (file)
@@ -1375,3 +1375,15 @@ Description:
                The emissivity ratio of the surface in the field of view of the
                contactless temperature sensor.  Emissivity varies from 0 to 1,
                with 1 being the emissivity of a black body.
+
+What:          /sys/bus/iio/devices/iio:deviceX/in_magn_x_oversampling_ratio
+What:          /sys/bus/iio/devices/iio:deviceX/in_magn_y_oversampling_ratio
+What:          /sys/bus/iio/devices/iio:deviceX/in_magn_z_oversampling_ratio
+KernelVersion: 4.2
+Contact:       linux-iio@vger.kernel.org
+Description:
+               Hardware applied number of measurements for acquiring one
+               data point. The HW will do <type>[_name]_oversampling_ratio
+               measurements and return the average value as output data. Each
+               value resulted from <type>[_name]_oversampling_ratio measurements
+               is considered as one sample for <type>[_name]_sampling_frequency.
index 7c98bc1504e60c107f5783cb6161b69fd1bd9d40..dfa81db3b910e860c5c8ad0418a0a18657343a06 100644 (file)
@@ -129,6 +129,7 @@ static const char * const iio_chan_info_postfix[] = {
        [IIO_CHAN_INFO_DEBOUNCE_COUNT] = "debounce_count",
        [IIO_CHAN_INFO_DEBOUNCE_TIME] = "debounce_time",
        [IIO_CHAN_INFO_CALIBEMISSIVITY] = "calibemissivity",
+       [IIO_CHAN_INFO_OVERSAMPLING_RATIO] = "oversampling_ratio",
 };
 
 /**
index b1e46ae89aa7daa91030f8262ecb60a9bbdbb3c1..058441da4984962b168232eb5974a622b62ccef2 100644 (file)
@@ -44,6 +44,7 @@ enum iio_chan_info_enum {
        IIO_CHAN_INFO_DEBOUNCE_COUNT,
        IIO_CHAN_INFO_DEBOUNCE_TIME,
        IIO_CHAN_INFO_CALIBEMISSIVITY,
+       IIO_CHAN_INFO_OVERSAMPLING_RATIO,
 };
 
 enum iio_shared_by {