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 Diff line number Diff line
@@ -437,6 +437,8 @@ config STX104
config TI_ADC081C
	tristate "Texas Instruments ADC081C/ADC101C/ADC121C family"
	depends on I2C
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  If you say yes here you get support for Texas Instruments ADC081C,
	  ADC101C and ADC121C ADC chips.
+4 −3
Original line number 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;
	int ret;
	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)
		return ret;

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

	ret = regmap_read(data->regmap, ATLAS_REG_EC_CALIB_STATUS, &val);
	if (ret)
+9 −7
Original line number 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 shift = chan->scan_type.shift + (chan->address * 8);
	unsigned int buf;
	__be16 buf16;
	__be32 buf32;
	int ret;

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

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

	if (ret)
		return ret;

	/* check to be sure this is a valid reading */
	if (*val & data->chip->status_bit)
		return -EINVAL;
+2 −0
Original line number 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:
		*base_freq = info->option_mode_2_freq;
		break;
	default:
		ret = -EINVAL;
	}
error_ret:
	return ret;