Here we register one iio device with three channels which present 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 v3: - hid-sensor-custom: remove sensor_inst::custom_pdev_exposed. - hid-sensor-custom: use static buf, w_buf to avoid using goto in get_known_custom_sensor_index. - hid-sensor-custom-intel-hinge: use devm_ prefix function instead. - sysfs-bus-iio: put in_anglY_raw together with in_angl_raw. 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 | 11 + drivers/hid/hid-sensor-custom.c | 143 +++++++ .../hid-sensors/hid-sensor-attributes.c | 2 + drivers/iio/position/Kconfig | 16 + drivers/iio/position/Makefile | 1 + .../position/hid-sensor-custom-intel-hinge.c | 391 ++++++++++++++++++ include/linux/hid-sensor-ids.h | 14 + 7 files changed, 578 insertions(+) create mode 100644 drivers/iio/position/hid-sensor-custom-intel-hinge.c -- 2.17.1