Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio: imu: st_lsm6dsx: fix build when CONFIG_IIO_TRIGGERED_BUFFER=m

The following kernel linkage error:

st_lsm6dsx_core.o: in function `st_lsm6dsx_sw_buffers_setup':
st_lsm6dsx_core.c:2578: undefined reference to `devm_iio_triggered_buffer_setup_ext'

is caused by the fact that the object owning devm_iio_triggered_buffer_setup_ext()
(drivers/iio/buffer/industrialio-triggered-buffer.o) is allowed to be
built as module when its user (drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c)
is built-in.

The st_lsm6dsx driver already has a "select IIO_BUFFER", so add another
select for IIO_TRIGGERED_BUFFER, to make that option follow what is set
for the st_lsm6dsx driver. This is similar to what other iio drivers do.

Fixes: 2cfb2180c3e8 ("iio: imu: st_lsm6dsx: introduce sw trigger support")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://lore.kernel.org/r/20230103130348.1733467-1-vladimir.oltean@nxp.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Vladimir Oltean and committed by
Jonathan Cameron
c9c1d6d8 bffb7d9d

+1
+1
drivers/iio/imu/st_lsm6dsx/Kconfig
··· 4 4 tristate "ST_LSM6DSx driver for STM 6-axis IMU MEMS sensors" 5 5 depends on (I2C || SPI || I3C) 6 6 select IIO_BUFFER 7 + select IIO_TRIGGERED_BUFFER 7 8 select IIO_KFIFO_BUF 8 9 select IIO_ST_LSM6DSX_I2C if (I2C) 9 10 select IIO_ST_LSM6DSX_SPI if (SPI_MASTER)