]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iio: accel: adxl345: Expose IIO_EV_INFO_VALUE for double tap
authorTaha Ed-Dafili <0rayn.dev@gmail.com>
Thu, 26 Feb 2026 15:11:04 +0000 (15:11 +0000)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 1 Mar 2026 12:04:16 +0000 (12:04 +0000)
The ADXL345 uses a single hardware register (ADXL345_REG_THRESH_TAP) to
store the threshold for both single tap and double tap events.

Currently, the driver only exposes the IIO_EV_INFO_VALUE attribute for
the single tap event.

However, the IIO ABI dictates that if an event is supported, its
associated configuration attributes should be exposed to userspace. This
applies even if writing to one channel property alters the value of
another due to shared underlying hardware state.

Add IIO_EV_INFO_VALUE to the double tap event specification to ensure
full ABI compliance.

Suggested-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Taha Ed-Dafili <0rayn.dev@gmail.com>
Reviewed-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/accel/adxl345_core.c

index 78e3f799ecc1ecf244e7cb51ad5571cd3a813a57..96d1417d77c65daf05af97f07e98561e29641830 100644 (file)
@@ -235,7 +235,9 @@ static const struct iio_event_spec adxl345_events[] = {
                /* double tap */
                .type = IIO_EV_TYPE_GESTURE,
                .dir = IIO_EV_DIR_DOUBLETAP,
-               .mask_shared_by_type = BIT(IIO_EV_INFO_ENABLE) |
+               .mask_shared_by_type =
+                       BIT(IIO_EV_INFO_ENABLE) |
+                       BIT(IIO_EV_INFO_VALUE) |
                        BIT(IIO_EV_INFO_RESET_TIMEOUT) |
                        BIT(IIO_EV_INFO_TAP2_MIN_DELAY),
        },