staging:iio:dummy: Fix mismatch and export sysfs entry
authorJin Feng <jin88.feng@gmail.com>
Fri, 5 Apr 2013 04:51:00 +0000 (05:51 +0100)
committerJonathan Cameron <jic23@kernel.org>
Tue, 9 Apr 2013 17:29:52 +0000 (18:29 +0100)
Correct the mismatch bewteen calibscale and calibbias, and export
the in_accel_calibscale sysfs entry

Updated to apply to current tree.

Signed-off-by: Jin Feng <jin88.feng@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/staging/iio/iio_simple_dummy.c

index 0193e17..0e8e02a 100644 (file)
@@ -166,11 +166,12 @@ static const struct iio_chan_spec iio_dummy_channels[] = {
                .channel2 = IIO_MOD_X,
                .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
                /*
-                * Internal bias correction value. Applied
+                * Internal bias and gain correction values. Applied
                 * by the hardware or driver prior to userspace
                 * seeing the readings. Typically part of hardware
                 * calibration.
                 */
+               BIT(IIO_CHAN_INFO_CALIBSCALE) |
                BIT(IIO_CHAN_INFO_CALIBBIAS),
                .scan_index = accelx,
                .scan_type = { /* Description of storage in buffer */
@@ -311,7 +312,7 @@ static int iio_dummy_write_raw(struct iio_dev *indio_dev,
                st->dac_val = val;
                mutex_unlock(&st->lock);
                return 0;
-       case IIO_CHAN_INFO_CALIBBIAS:
+       case IIO_CHAN_INFO_CALIBSCALE:
                mutex_lock(&st->lock);
                /* Compare against table - hard matching here */
                for (i = 0; i < ARRAY_SIZE(dummy_scales); i++)
@@ -324,6 +325,12 @@ static int iio_dummy_write_raw(struct iio_dev *indio_dev,
                        st->accel_calibscale = &dummy_scales[i];
                mutex_unlock(&st->lock);
                return ret;
+       case IIO_CHAN_INFO_CALIBBIAS:
+               mutex_lock(&st->lock);
+               st->accel_calibbias = val;
+               mutex_unlock(&st->lock);
+               return 0;
+
        default:
                return -EINVAL;
        }