]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: hid-sensor-prox: Add support for 16-bit report size
authorZhang Lixu <lixu.zhang@intel.com>
Mon, 17 Mar 2025 01:36:34 +0000 (09:36 +0800)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 22 Apr 2025 18:09:51 +0000 (19:09 +0100)
On Intel platforms, the HID_USAGE_SENSOR_HUMAN_PROXIMITY report size is 16
bits. This patch adds support for handling 16-bit report sizes for the
HID_USAGE_SENSOR_HUMAN_PROXIMITY usage in the HID sensor proximity driver.

Previously, the driver only supported 8-bit and 32-bit report sizes. With
this change, the driver can now correctly process 16-bit proximity data,
ensuring accurate human presence detection on platforms where this report
size is used.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://patch.msgid.link/20250317013634.4117399-1-lixu.zhang@intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/hid-sensor-prox.c

index 76b76d12b38822a27366c1a61b90f710aa6bffea..3a7b48803d50396923094f7709d834e1bac94bed 100644 (file)
@@ -213,6 +213,9 @@ static int prox_capture_sample(struct hid_sensor_hub_device *hsdev,
        case 1:
                prox_state->human_presence[chan] = *(u8 *)raw_data * multiplier;
                return 0;
+       case 2:
+               prox_state->human_presence[chan] = *(u16 *)raw_data * multiplier;
+               return 0;
        case 4:
                prox_state->human_presence[chan] = *(u32 *)raw_data * multiplier;
                return 0;