Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4a7de051 authored by Srinivas Pandruvada's avatar Srinivas Pandruvada Committed by Jiri Kosina
Browse files

HID: sensor: Custom and Generic sensor support



HID Sensor Spec defines two usage ids for custom sensors

	HID_USAGE_SENSOR_TYPE_OTHER_CUSTOM (0x09, 0xE1)
	HID_USAGE_SENSOR_TYPE_OTHER_GENERIC(0x09, 0xE2)

	In addition the standard also defines usage ids for custom fields.
The purpose of these sensors is to extend the functionality or provide a way to
obfuscate the data being communicated by a sensor. Without knowing the mapping
between the data and its encapsulated form, it is difficult for an driver to
determine what data is being communicated by the sensor.  This allows some
differentiating use cases, where vendor can provide applications.  Since these
can't be represented by standard sensor interfaces like IIO, we present these
as fields with

- type (input/output)
- units
- min/max
- get/set value

In addition an dev interface to transfer report events. Details about this
interface is described in /Documentation/hid/hid-sensor.txt.  Manufacturers
should not use these ids for any standard sensors, otherwise the the
product/vendor id can be added to black list.

Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Reviewed-by: default avatarJonathan Cameron <jic23@kernel.org>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 62fad137
Loading
Loading
Loading
Loading
+15 −0
Original line number Original line Diff line number Diff line
@@ -885,6 +885,21 @@ config HID_SENSOR_HUB
	  for events and handle data streams. Each sensor driver can format
	  for events and handle data streams. Each sensor driver can format
	  data and present to user mode using input or IIO interface.
	  data and present to user mode using input or IIO interface.


config HID_SENSOR_CUSTOM_SENSOR
	tristate "HID Sensors hub custom sensor support"
	depends on HID_SENSOR_HUB
	default n
	---help---
	  HID Sensor hub specification allows definition of some custom and
	  generic sensors. Unlike other HID sensors, they can't be exported
	  via Linux IIO because of custom fields. This is up to the manufacturer
	  to decide how to interpret these special sensor ids and process in
	  the user space. Currently some manufacturers are using these ids for
	  sensor calibration and debugging other sensors. Manufacturers
	  should't use these special custom sensor ids to export any of the
	  standard sensors.
	  Select this config option for custom/generic sensor support.

endmenu
endmenu


endif # HID
endif # HID
+1 −0
Original line number Original line Diff line number Diff line
@@ -101,6 +101,7 @@ obj-$(CONFIG_HID_WACOM) += wacom.o
obj-$(CONFIG_HID_WALTOP)	+= hid-waltop.o
obj-$(CONFIG_HID_WALTOP)	+= hid-waltop.o
obj-$(CONFIG_HID_WIIMOTE)	+= hid-wiimote.o
obj-$(CONFIG_HID_WIIMOTE)	+= hid-wiimote.o
obj-$(CONFIG_HID_SENSOR_HUB)	+= hid-sensor-hub.o
obj-$(CONFIG_HID_SENSOR_HUB)	+= hid-sensor-hub.o
obj-$(CONFIG_HID_SENSOR_CUSTOM_SENSOR)	+= hid-sensor-custom.o


obj-$(CONFIG_USB_HID)		+= usbhid/
obj-$(CONFIG_USB_HID)		+= usbhid/
obj-$(CONFIG_USB_MOUSE)		+= usbhid/
obj-$(CONFIG_USB_MOUSE)		+= usbhid/
+849 −0

File added.

Preview size limit exceeded, changes collapsed.