]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
HID: sensor-hub: Add sensor_hub_input_attr_read_values() for multi-byte reads
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Wed, 10 Jun 2026 08:29:09 +0000 (16:29 +0800)
committerJonathan Cameron <jic23@kernel.org>
Mon, 29 Jun 2026 22:24:46 +0000 (23:24 +0100)
commitf784fcea450617055d2d12eec5b2f6e0e38bf878
tree1ce2683f18aea4a80ac23f8add6fd40c4aaa1f5b
parent3ee2128b6f0eb0be7b6cb8f6e0f1f113a65201a0
HID: sensor-hub: Add sensor_hub_input_attr_read_values() for multi-byte reads

sensor_hub_input_attr_get_raw_value() is limited to returning a single
32-bit value, which is insufficient for sensors that report data larger
than 32 bits, such as a quaternion with four s16 elements.

Add sensor_hub_input_attr_read_values() that accepts a caller-provided
buffer and accumulates incoming data until the buffer is full. The two
paths are distinguished in sensor_hub_raw_event() by pending.max_raw_size
being non-zero, preserving backward compatibility.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Co-developed-by: Zhang Lixu <lixu.zhang@intel.com>
Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
Acked-by: Jiri Kosina <jkosina@suse.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/hid/hid-sensor-hub.c
include/linux/hid-sensor-hub.h