]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: hid-sensor-prox: Split difference from multiple channels
authorRicardo Ribalda <ribalda@chromium.org>
Mon, 16 Dec 2024 10:05:53 +0000 (10:05 +0000)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 3 Feb 2025 19:30:11 +0000 (19:30 +0000)
When the driver was originally created, it was decided that
sampling_frequency and hysteresis would be shared_per_type instead
of shared_by_all (even though it is internally shared by all). Eg:
in_proximity_raw
in_proximity_sampling_frequency

When we introduced support for more channels, we continued with
shared_by_type which. Eg:
in_proximity0_raw
in_proximity1_raw
in_proximity_sampling_frequency
in_attention_raw
in_attention_sampling_frequency

Ideally we should change to shared_by_all, but it is not an option,
because the current naming has been a stablished ABI by now. Luckily we
can use separate instead. That will be more consistent:
in_proximity0_raw
in_proximity0_sampling_frequency
in_proximity1_raw
in_proximity1_sampling_frequency
in_attention_raw
in_attention_sampling_frequency

Fixes: 596ef5cf654b ("iio: hid-sensor-prox: Add support for more channels")
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Link: https://patch.msgid.link/20241216-fix-hid-sensor-v2-1-ff8c1959ec4a@chromium.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/hid-sensor-prox.c

index 7ab64f5c623c1a39f05ef0d0e48fa480f74a3376..76b76d12b38822a27366c1a61b90f710aa6bffea 100644 (file)
@@ -49,9 +49,10 @@ static const u32 prox_sensitivity_addresses[] = {
 #define PROX_CHANNEL(_is_proximity, _channel) \
        {\
                .type = _is_proximity ? IIO_PROXIMITY : IIO_ATTENTION,\
-               .info_mask_separate = _is_proximity ? BIT(IIO_CHAN_INFO_RAW) :\
-                                     BIT(IIO_CHAN_INFO_PROCESSED),\
-               .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_OFFSET) |\
+               .info_mask_separate = \
+               (_is_proximity ? BIT(IIO_CHAN_INFO_RAW) :\
+                               BIT(IIO_CHAN_INFO_PROCESSED)) |\
+               BIT(IIO_CHAN_INFO_OFFSET) |\
                BIT(IIO_CHAN_INFO_SCALE) |\
                BIT(IIO_CHAN_INFO_SAMP_FREQ) |\
                BIT(IIO_CHAN_INFO_HYSTERESIS),\