add custom hinge sensor support

From: Ye Xiang
Date: Wed Dec 02 2020 - 22:53:53 EST


Here three separate iio devices are presented which presents angle for
hinge, keyboard and screen.

This driver works on devices with Intel integrated sensor hub, where
hinge sensor is presented using a custom sensor usage id.

Here the angle is presented in degrees, which is converted to radians.

Changes since v2:
- use 1 iio device instead of 3 for hinge sensor.
- use indexed channel instead of modified channel and added channel
labels.
- remove 2,3 patch in last version, add a document patch to describe the
hinge channels.
- hid-sensor-custom: use meaningful return value in
get_known_custom_sensor_index and checked in call side.
- hid-sensor-ids.h: use HID_USAGE_SENSOR_DATA_FIELD_CUSTOM_VALUE(x) to
define custom sensor value.

Changes since v1:
- fixed errors reported by lkp

Ye Xiang (3):
HID: hid-sensor-custom: Add custom sensor iio support
iio: hid-sensors: Add hinge sensor driver
iio:Documentation: Add documentation for hinge sensor channels

Documentation/ABI/testing/sysfs-bus-iio | 17 +
drivers/hid/hid-sensor-custom.c | 181 ++++++++
.../hid-sensors/hid-sensor-attributes.c | 2 +
drivers/iio/position/Kconfig | 16 +
drivers/iio/position/Makefile | 1 +
.../position/hid-sensor-custom-intel-hinge.c | 393 ++++++++++++++++++
include/linux/hid-sensor-ids.h | 14 +
7 files changed, 624 insertions(+)
create mode 100644 drivers/iio/position/hid-sensor-custom-intel-hinge.c

--
2.17.1