Commit 84dd4373 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull char/misc driver fixes from Greg KH:
 "Here are some small driver fixes for 6.10-rc6. Included in here are:

   - IIO driver fixes for reported issues

   - Counter driver fix for a reported problem.

  All of these have been in linux-next this week with no reported
  issues"

* tag 'char-misc-6.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
  counter: ti-eqep: enable clock at probe
  iio: chemical: bme680: Fix sensor data read operation
  iio: chemical: bme680: Fix overflows in compensate() functions
  iio: chemical: bme680: Fix calibration data variable
  iio: chemical: bme680: Fix pressure value output
  iio: humidity: hdc3020: fix hysteresis representation
  iio: dac: fix ad9739a random config compile error
  iio: accel: fxls8962af: select IIO_BUFFER & IIO_KFIFO_BUF
  iio: adc: ad7266: Fix variable checking bug
  iio: xilinx-ams: Don't include ams_ctrl_channels in scan_mask
parents 12529aa1 06ebbce9
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@
 */

#include <linux/bitops.h>
#include <linux/clk.h>
#include <linux/counter.h>
#include <linux/kernel.h>
#include <linux/mod_devicetable.h>
@@ -376,6 +377,7 @@ static int ti_eqep_probe(struct platform_device *pdev)
	struct counter_device *counter;
	struct ti_eqep_cnt *priv;
	void __iomem *base;
	struct clk *clk;
	int err;

	counter = devm_counter_alloc(dev, sizeof(*priv));
@@ -415,6 +417,10 @@ static int ti_eqep_probe(struct platform_device *pdev)
	pm_runtime_enable(dev);
	pm_runtime_get_sync(dev);

	clk = devm_clk_get_enabled(dev, NULL);
	if (IS_ERR(clk))
		return dev_err_probe(dev, PTR_ERR(clk), "failed to enable clock\n");

	err = counter_add(counter);
	if (err < 0) {
		pm_runtime_put_sync(dev);
+2 −0
Original line number Diff line number Diff line
@@ -330,6 +330,8 @@ config DMARD10
config FXLS8962AF
	tristate
	depends on I2C || !I2C # cannot be built-in for modular I2C
	select IIO_BUFFER
	select IIO_KFIFO_BUF

config FXLS8962AF_I2C
	tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
+2 −0
Original line number Diff line number Diff line
@@ -157,6 +157,8 @@ static int ad7266_read_raw(struct iio_dev *indio_dev,
		ret = ad7266_read_single(st, val, chan->address);
		iio_device_release_direct_mode(indio_dev);

		if (ret < 0)
			return ret;
		*val = (*val >> 2) & 0xfff;
		if (chan->scan_type.sign == 's')
			*val = sign_extend32(*val,
+6 −2
Original line number Diff line number Diff line
@@ -414,8 +414,12 @@ static void ams_enable_channel_sequence(struct iio_dev *indio_dev)

	/* Run calibration of PS & PL as part of the sequence */
	scan_mask = BIT(0) | BIT(AMS_PS_SEQ_MAX);
	for (i = 0; i < indio_dev->num_channels; i++)
		scan_mask |= BIT_ULL(indio_dev->channels[i].scan_index);
	for (i = 0; i < indio_dev->num_channels; i++) {
		const struct iio_chan_spec *chan = &indio_dev->channels[i];

		if (chan->scan_index < AMS_CTRL_SEQ_BASE)
			scan_mask |= BIT_ULL(chan->scan_index);
	}

	if (ams->ps_base) {
		/* put sysmon in a soft reset to change the sequence */
+2 −0
Original line number Diff line number Diff line
@@ -54,7 +54,9 @@
#define   BME680_NB_CONV_MASK			GENMASK(3, 0)

#define BME680_REG_MEAS_STAT_0			0x1D
#define   BME680_NEW_DATA_BIT			BIT(7)
#define   BME680_GAS_MEAS_BIT			BIT(6)
#define   BME680_MEAS_BIT			BIT(5)

/* Calibration Parameters */
#define BME680_T2_LSB_REG	0x8A
Loading