diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-09 12:20:43 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-09 12:20:43 -0700 |
| commit | de68600e32fa713544a2dde68dac783411405b46 (patch) | |
| tree | 6ec3b220e5bf47f3df66373b54526ccc64b75c8f | |
| parent | 5993f3a2692eed3c74c86882155b8703a0060ad5 (diff) | |
| parent | ff3fc8eb470ff0e47466c291148a30f958d6691d (diff) | |
Merge tag 'iio-for-3.10d' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
Fourth set of changes for iio in the 3.10 cycle. This time just a fix an
a cleanup.
The fix is to the dummy driver for some inconsistent specification of
parameters available vs parameters supplied.
The cleanup is for some silly memcmp usage.
| -rw-r--r-- | drivers/staging/iio/addac/adt7316.c | 26 | ||||
| -rw-r--r-- | drivers/staging/iio/iio_simple_dummy.c | 11 |
2 files changed, 22 insertions, 15 deletions
diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/addac/adt7316.c index 0b431bc4f627..506b5a7d96c8 100644 --- a/drivers/staging/iio/addac/adt7316.c +++ b/drivers/staging/iio/addac/adt7316.c @@ -256,7 +256,7 @@ static ssize_t adt7316_store_enabled(struct device *dev, struct adt7316_chip_info *chip = iio_priv(dev_info); int enable; - if (!memcmp(buf, "1", 1)) + if (buf[0] == '1') enable = 1; else enable = 0; @@ -299,7 +299,7 @@ static ssize_t adt7316_store_select_ex_temp(struct device *dev, return -EPERM; config1 = chip->config1 & (~ADT7516_SEL_EX_TEMP); - if (!memcmp(buf, "1", 1)) + if (buf[0] == '1') config1 |= ADT7516_SEL_EX_TEMP; ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1); @@ -495,7 +495,7 @@ static ssize_t adt7316_store_disable_averaging(struct device *dev, int ret; config2 = chip->config2 & (~ADT7316_DISABLE_AVERAGING); - if (!memcmp(buf, "1", 1)) + if (buf[0] == '1') config2 |= ADT7316_DISABLE_AVERAGING; ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2); @@ -534,7 +534,7 @@ static ssize_t adt7316_store_enable_smbus_timeout(struct device *dev, int ret; config2 = chip->config2 & (~ADT7316_EN_SMBUS_TIMEOUT); - if (!memcmp(buf, "1", 1)) + if (buf[0] == '1') config2 |= ADT7316_EN_SMBUS_TIMEOUT; ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG2, config2); @@ -597,7 +597,7 @@ static ssize_t adt7316_store_powerdown(struct device *dev, int ret; config1 = chip->config1 & (~ADT7316_PD); - if (!memcmp(buf, "1", 1)) + if (buf[0] == '1') config1 |= ADT7316_PD; ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1); @@ -635,7 +635,7 @@ static ssize_t adt7316_store_fast_ad_clock(struct device *dev, int ret; config3 = chip->config3 & (~ADT7316_ADCLK_22_5); - if (!memcmp(buf, "1", 1)) + if (buf[0] == '1') config3 |= ADT7316_ADCLK_22_5; ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3); @@ -681,7 +681,7 @@ static ssize_t adt7316_store_da_high_resolution(struct device *dev, chip->dac_bits = 8; - if (!memcmp(buf, "1", 1)) { + if (buf[0] == '1') { config3 = chip->config3 | ADT7316_DA_HIGH_RESOLUTION; if (chip->id == ID_ADT7316 || chip->id == ID_ADT7516) chip->dac_bits = 12; @@ -731,7 +731,7 @@ static ssize_t adt7316_store_AIN_internal_Vref(struct device *dev, if ((chip->id & ID_FAMILY_MASK) != ID_ADT75XX) return -EPERM; - if (memcmp(buf, "1", 1)) + if (buf[0] != '1') config3 = chip->config3 & (~ADT7516_AIN_IN_VREF); else config3 = chip->config3 | ADT7516_AIN_IN_VREF; @@ -773,7 +773,7 @@ static ssize_t adt7316_store_enable_prop_DACA(struct device *dev, int ret; config3 = chip->config3 & (~ADT7316_EN_IN_TEMP_PROP_DACA); - if (!memcmp(buf, "1", 1)) + if (buf[0] == '1') config3 |= ADT7316_EN_IN_TEMP_PROP_DACA; ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3); @@ -812,7 +812,7 @@ static ssize_t adt7316_store_enable_prop_DACB(struct device *dev, int ret; config3 = chip->config3 & (~ADT7316_EN_EX_TEMP_PROP_DACB); - if (!memcmp(buf, "1", 1)) + if (buf[0] == '1') config3 |= ADT7316_EN_EX_TEMP_PROP_DACB; ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3); @@ -1018,7 +1018,7 @@ static ssize_t adt7316_store_DA_AB_Vref_bypass(struct device *dev, return -EPERM; dac_config = chip->dac_config & (~ADT7316_VREF_BYPASS_DAC_AB); - if (!memcmp(buf, "1", 1)) + if (buf[0] == '1') dac_config |= ADT7316_VREF_BYPASS_DAC_AB; ret = chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config); @@ -1063,7 +1063,7 @@ static ssize_t adt7316_store_DA_CD_Vref_bypass(struct device *dev, return -EPERM; dac_config = chip->dac_config & (~ADT7316_VREF_BYPASS_DAC_CD); - if (!memcmp(buf, "1", 1)) + if (buf[0] == '1') dac_config |= ADT7316_VREF_BYPASS_DAC_CD; ret = chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config); @@ -1982,7 +1982,7 @@ static ssize_t adt7316_set_int_enabled(struct device *dev, int ret; config1 = chip->config1 & (~ADT7316_INT_EN); - if (!memcmp(buf, "1", 1)) + if (buf[0] == '1') config1 |= ADT7316_INT_EN; ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG1, config1); diff --git a/drivers/staging/iio/iio_simple_dummy.c b/drivers/staging/iio/iio_simple_dummy.c index 0193e1796b18..0e8e02a3cf5b 100644 --- a/drivers/staging/iio/iio_simple_dummy.c +++ b/drivers/staging/iio/iio_simple_dummy.c @@ -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; } |
