mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
0bf49ffbfe
The IIO core provides a function to do formatting of fixedpoint numbers. In the past there have been some issues with the implementation of the function where for example negative numbers were not handled correctly. Introduce a basic unit test based on kunit that tests the function and ensures that the generated output matches the expected output. This gives us some confidence that future modifications to the function implementation will not break ABI compatibility. To run the unit tests follow the kunit documentation and add CONFIG_IIO=y CONFIG_IIO_TEST_FORMAT=y to the .kunitconfig and run > ./tools/testing/kunit/kunit.py run Configuring KUnit Kernel ... Building KUnit Kernel ... Starting KUnit Kernel ... ============================================================ ======== [PASSED] iio-format ======== [PASSED] iio_test_iio_format_value_integer [PASSED] iio_test_iio_format_value_fixedpoint [PASSED] iio_test_iio_format_value_fractional [PASSED] iio_test_iio_format_value_fractional_log2 [PASSED] iio_test_iio_format_value_multiple ============================================================ Testing complete. 21 tests run. 0 failed. 0 crashed. Elapsed time: 8.242s total, 0.001s configuring, 3.865s building, 0.000s running Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Link: https://lore.kernel.org/r/20201215191743.2725-3-lars@metafoo.de Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
101 lines
2.9 KiB
Plaintext
101 lines
2.9 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Industrial I/O subsystem configuration
|
|
#
|
|
|
|
menuconfig IIO
|
|
tristate "Industrial I/O support"
|
|
help
|
|
The industrial I/O subsystem provides a unified framework for
|
|
drivers for many different types of embedded sensors using a
|
|
number of different physical interfaces (i2c, spi, etc).
|
|
|
|
if IIO
|
|
|
|
config IIO_BUFFER
|
|
bool "Enable buffer support within IIO"
|
|
help
|
|
Provide core support for various buffer based data
|
|
acquisition methods.
|
|
|
|
if IIO_BUFFER
|
|
source "drivers/iio/buffer/Kconfig"
|
|
endif # IIO_BUFFER
|
|
|
|
config IIO_CONFIGFS
|
|
tristate "Enable IIO configuration via configfs"
|
|
select CONFIGFS_FS
|
|
help
|
|
This allows configuring various IIO bits through configfs
|
|
(e.g. software triggers). For more info see
|
|
Documentation/iio/iio_configfs.rst.
|
|
|
|
config IIO_TRIGGER
|
|
bool "Enable triggered sampling support"
|
|
help
|
|
Provides IIO core support for triggers. Currently these
|
|
are used to initialize capture of samples to push into
|
|
buffers. The triggers are effectively a 'capture
|
|
data now' interrupt.
|
|
|
|
config IIO_CONSUMERS_PER_TRIGGER
|
|
int "Maximum number of consumers per trigger"
|
|
depends on IIO_TRIGGER
|
|
default "2"
|
|
help
|
|
This value controls the maximum number of consumers that a
|
|
given trigger may handle. Default is 2.
|
|
|
|
config IIO_SW_DEVICE
|
|
tristate "Enable software IIO device support"
|
|
select IIO_CONFIGFS
|
|
help
|
|
Provides IIO core support for software devices. A software
|
|
device can be created via configfs or directly by a driver
|
|
using the API provided.
|
|
|
|
config IIO_SW_TRIGGER
|
|
tristate "Enable software triggers support"
|
|
select IIO_CONFIGFS
|
|
help
|
|
Provides IIO core support for software triggers. A software
|
|
trigger can be created via configfs or directly by a driver
|
|
using the API provided.
|
|
|
|
config IIO_TRIGGERED_EVENT
|
|
tristate "Enable triggered events support"
|
|
select IIO_TRIGGER
|
|
help
|
|
Provides helper functions for setting up triggered events.
|
|
|
|
source "drivers/iio/accel/Kconfig"
|
|
source "drivers/iio/adc/Kconfig"
|
|
source "drivers/iio/afe/Kconfig"
|
|
source "drivers/iio/amplifiers/Kconfig"
|
|
source "drivers/iio/chemical/Kconfig"
|
|
source "drivers/iio/common/Kconfig"
|
|
source "drivers/iio/dac/Kconfig"
|
|
source "drivers/iio/dummy/Kconfig"
|
|
source "drivers/iio/frequency/Kconfig"
|
|
source "drivers/iio/gyro/Kconfig"
|
|
source "drivers/iio/health/Kconfig"
|
|
source "drivers/iio/humidity/Kconfig"
|
|
source "drivers/iio/imu/Kconfig"
|
|
source "drivers/iio/light/Kconfig"
|
|
source "drivers/iio/magnetometer/Kconfig"
|
|
source "drivers/iio/multiplexer/Kconfig"
|
|
source "drivers/iio/orientation/Kconfig"
|
|
source "drivers/iio/test/Kconfig"
|
|
if IIO_TRIGGER
|
|
source "drivers/iio/trigger/Kconfig"
|
|
endif #IIO_TRIGGER
|
|
source "drivers/iio/position/Kconfig"
|
|
source "drivers/iio/potentiometer/Kconfig"
|
|
source "drivers/iio/potentiostat/Kconfig"
|
|
source "drivers/iio/pressure/Kconfig"
|
|
source "drivers/iio/proximity/Kconfig"
|
|
source "drivers/iio/resolver/Kconfig"
|
|
source "drivers/iio/temperature/Kconfig"
|
|
|
|
endif # IIO
|