Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8b77eb97 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'iio-fixes-for-4.9a' of...

Merge tag 'iio-fixes-for-4.9a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus

Jonathan writes:

First set of IIO fixes for the 4.9 cycle.

* atlas chemical
  - Fix alignment of big endian values in a larger storage (by using the right
  size storage)
* maxim thermocouple
  - Fix alignment of big endian values in larger (by using the correct
  sized storage).
* sca3000
  - Handle unexpected mode values.
* ti-adc081
  - Select IIO_TRIGGERED_BUFFER to avoid build errors
parents c89d98e2 64bc2d02
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -437,6 +437,8 @@ config STX104
config TI_ADC081C
config TI_ADC081C
	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
	depends on I2C
	depends on I2C
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	help
	  If you say yes here you get support for Texas Instruments ADC081C,
	  If you say yes here you get support for Texas Instruments ADC081C,
	  ADC101C and ADC121C ADC chips.
	  ADC101C and ADC121C ADC chips.
+4 −3
Original line number Original line Diff line number Diff line
@@ -213,13 +213,14 @@ static int atlas_check_ec_calibration(struct atlas_data *data)
	struct device *dev = &data->client->dev;
	struct device *dev = &data->client->dev;
	int ret;
	int ret;
	unsigned int val;
	unsigned int val;
	__be16	rval;


	ret = regmap_bulk_read(data->regmap, ATLAS_REG_EC_PROBE, &val, 2);
	ret = regmap_bulk_read(data->regmap, ATLAS_REG_EC_PROBE, &rval, 2);
	if (ret)
	if (ret)
		return ret;
		return ret;


	dev_info(dev, "probe set to K = %d.%.2d", be16_to_cpu(val) / 100,
	val = be16_to_cpu(rval);
						 be16_to_cpu(val) % 100);
	dev_info(dev, "probe set to K = %d.%.2d", val / 100, val % 100);


	ret = regmap_read(data->regmap, ATLAS_REG_EC_CALIB_STATUS, &val);
	ret = regmap_read(data->regmap, ATLAS_REG_EC_CALIB_STATUS, &val);
	if (ret)
	if (ret)
+9 −7
Original line number Original line Diff line number Diff line
@@ -123,22 +123,24 @@ static int maxim_thermocouple_read(struct maxim_thermocouple_data *data,
{
{
	unsigned int storage_bytes = data->chip->read_size;
	unsigned int storage_bytes = data->chip->read_size;
	unsigned int shift = chan->scan_type.shift + (chan->address * 8);
	unsigned int shift = chan->scan_type.shift + (chan->address * 8);
	unsigned int buf;
	__be16 buf16;
	__be32 buf32;
	int ret;
	int ret;


	ret = spi_read(data->spi, (void *) &buf, storage_bytes);
	if (ret)
		return ret;

	switch (storage_bytes) {
	switch (storage_bytes) {
	case 2:
	case 2:
		*val = be16_to_cpu(buf);
		ret = spi_read(data->spi, (void *)&buf16, storage_bytes);
		*val = be16_to_cpu(buf16);
		break;
		break;
	case 4:
	case 4:
		*val = be32_to_cpu(buf);
		ret = spi_read(data->spi, (void *)&buf32, storage_bytes);
		*val = be32_to_cpu(buf32);
		break;
		break;
	}
	}


	if (ret)
		return ret;

	/* check to be sure this is a valid reading */
	/* check to be sure this is a valid reading */
	if (*val & data->chip->status_bit)
	if (*val & data->chip->status_bit)
		return -EINVAL;
		return -EINVAL;
+2 −0
Original line number Original line Diff line number Diff line
@@ -468,6 +468,8 @@ static inline int __sca3000_get_base_freq(struct sca3000_state *st,
	case SCA3000_MEAS_MODE_OP_2:
	case SCA3000_MEAS_MODE_OP_2:
		*base_freq = info->option_mode_2_freq;
		*base_freq = info->option_mode_2_freq;
		break;
		break;
	default:
		ret = -EINVAL;
	}
	}
error_ret:
error_ret:
	return ret;
	return ret;