forked from mirrors/linux
		
	 1c71a2863a
			
		
	
	
		1c71a2863a
		
	
	
	
	
		
			
			Some hid sensors may use relative sensitivity such as als sensor. This patch adds relative sensitivity checking for all hid sensors. Signed-off-by: Ye Xiang <xiang.ye@intel.com> Acked-by: Jiri Kosina <jkosina@suse.cz> Link: https://lore.kernel.org/r/20210207070048.23935-2-xiang.ye@intel.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
		
			
				
	
	
		
			176 lines
		
	
	
	
		
			7.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			176 lines
		
	
	
	
		
			7.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0-only */
 | |
| /*
 | |
|  * HID Sensors Driver
 | |
|  * Copyright (c) 2012, Intel Corporation.
 | |
|  */
 | |
| #ifndef _HID_SENSORS_IDS_H
 | |
| #define _HID_SENSORS_IDS_H
 | |
| 
 | |
| #define HID_MAX_PHY_DEVICES					0xFF
 | |
| 
 | |
| #define HID_USAGE_SENSOR_COLLECTION				0x200001
 | |
| 
 | |
| /* Accel 3D (200073) */
 | |
| #define HID_USAGE_SENSOR_ACCEL_3D				0x200073
 | |
| #define HID_USAGE_SENSOR_DATA_ACCELERATION			0x200452
 | |
| #define HID_USAGE_SENSOR_ACCEL_X_AXIS				0x200453
 | |
| #define HID_USAGE_SENSOR_ACCEL_Y_AXIS				0x200454
 | |
| #define HID_USAGE_SENSOR_ACCEL_Z_AXIS				0x200455
 | |
| 
 | |
| /* ALS (200041) */
 | |
| #define HID_USAGE_SENSOR_ALS					0x200041
 | |
| #define HID_USAGE_SENSOR_DATA_LIGHT				0x2004d0
 | |
| #define HID_USAGE_SENSOR_LIGHT_ILLUM				0x2004d1
 | |
| 
 | |
| /* PROX (200011) */
 | |
| #define HID_USAGE_SENSOR_PROX                                   0x200011
 | |
| #define HID_USAGE_SENSOR_DATA_PRESENCE                          0x2004b0
 | |
| #define HID_USAGE_SENSOR_HUMAN_PRESENCE                         0x2004b1
 | |
| 
 | |
| /* Pressure (200031) */
 | |
| #define HID_USAGE_SENSOR_PRESSURE                               0x200031
 | |
| #define HID_USAGE_SENSOR_DATA_ATMOSPHERIC_PRESSURE              0x200430
 | |
| #define HID_USAGE_SENSOR_ATMOSPHERIC_PRESSURE                   0x200431
 | |
| 
 | |
| /* Tempreture (200033) */
 | |
| #define	HID_USAGE_SENSOR_TEMPERATURE				0x200033
 | |
| #define	HID_USAGE_SENSOR_DATA_ENVIRONMENTAL_TEMPERATURE		0x200434
 | |
| 
 | |
| /* humidity */
 | |
| #define HID_USAGE_SENSOR_HUMIDITY                              0x200032
 | |
| #define HID_USAGE_SENSOR_ATMOSPHERIC_HUMIDITY                  0x200433
 | |
| 
 | |
| /* Gyro 3D: (200076) */
 | |
| #define HID_USAGE_SENSOR_GYRO_3D				0x200076
 | |
| #define HID_USAGE_SENSOR_DATA_ANGL_VELOCITY			0x200456
 | |
| #define HID_USAGE_SENSOR_ANGL_VELOCITY_X_AXIS			0x200457
 | |
| #define HID_USAGE_SENSOR_ANGL_VELOCITY_Y_AXIS			0x200458
 | |
| #define HID_USAGE_SENSOR_ANGL_VELOCITY_Z_AXIS			0x200459
 | |
| 
 | |
| /* Gravity vector */
 | |
| #define HID_USAGE_SENSOR_GRAVITY_VECTOR				0x20007B
 | |
| 
 | |
| /* ORIENTATION: Compass 3D: (200083) */
 | |
| #define HID_USAGE_SENSOR_COMPASS_3D				0x200083
 | |
| #define HID_USAGE_SENSOR_DATA_ORIENTATION			0x200470
 | |
| #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING			0x200471
 | |
| #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_X			0x200472
 | |
| #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_Y			0x200473
 | |
| #define HID_USAGE_SENSOR_ORIENT_MAGN_HEADING_Z			0x200474
 | |
| 
 | |
| #define HID_USAGE_SENSOR_ORIENT_COMP_MAGN_NORTH			0x200475
 | |
| #define HID_USAGE_SENSOR_ORIENT_COMP_TRUE_NORTH			0x200476
 | |
| #define HID_USAGE_SENSOR_ORIENT_MAGN_NORTH			0x200477
 | |
| #define HID_USAGE_SENSOR_ORIENT_TRUE_NORTH			0x200478
 | |
| 
 | |
| #define HID_USAGE_SENSOR_ORIENT_DISTANCE			0x200479
 | |
| #define HID_USAGE_SENSOR_ORIENT_DISTANCE_X			0x20047A
 | |
| #define HID_USAGE_SENSOR_ORIENT_DISTANCE_Y			0x20047B
 | |
| #define HID_USAGE_SENSOR_ORIENT_DISTANCE_Z			0x20047C
 | |
| #define HID_USAGE_SENSOR_ORIENT_DISTANCE_OUT_OF_RANGE		0x20047D
 | |
| 
 | |
| /* ORIENTATION: Inclinometer 3D: (200086) */
 | |
| #define HID_USAGE_SENSOR_INCLINOMETER_3D			0x200086
 | |
| #define HID_USAGE_SENSOR_ORIENT_TILT				0x20047E
 | |
| #define HID_USAGE_SENSOR_ORIENT_TILT_X				0x20047F
 | |
| #define HID_USAGE_SENSOR_ORIENT_TILT_Y				0x200480
 | |
| #define HID_USAGE_SENSOR_ORIENT_TILT_Z				0x200481
 | |
| 
 | |
| #define HID_USAGE_SENSOR_DEVICE_ORIENTATION			0x20008A
 | |
| #define HID_USAGE_SENSOR_RELATIVE_ORIENTATION			0x20008E
 | |
| #define HID_USAGE_SENSOR_GEOMAGNETIC_ORIENTATION		0x2000C1
 | |
| #define HID_USAGE_SENSOR_ORIENT_ROTATION_MATRIX			0x200482
 | |
| #define HID_USAGE_SENSOR_ORIENT_QUATERNION			0x200483
 | |
| #define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX			0x200484
 | |
| 
 | |
| #define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX_X_AXIS		0x200485
 | |
| #define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX_Y_AXIS		0x200486
 | |
| #define HID_USAGE_SENSOR_ORIENT_MAGN_FLUX_Z_AXIS		0x200487
 | |
| 
 | |
| /* Time (2000a0) */
 | |
| #define HID_USAGE_SENSOR_TIME					0x2000a0
 | |
| #define HID_USAGE_SENSOR_TIME_YEAR				0x200521
 | |
| #define HID_USAGE_SENSOR_TIME_MONTH				0x200522
 | |
| #define HID_USAGE_SENSOR_TIME_DAY				0x200523
 | |
| #define HID_USAGE_SENSOR_TIME_HOUR				0x200525
 | |
| #define HID_USAGE_SENSOR_TIME_MINUTE				0x200526
 | |
| #define HID_USAGE_SENSOR_TIME_SECOND				0x200527
 | |
| #define HID_USAGE_SENSOR_TIME_TIMESTAMP				0x200529
 | |
| 
 | |
| /* Units */
 | |
| #define HID_USAGE_SENSOR_UNITS_NOT_SPECIFIED			0x00
 | |
| #define HID_USAGE_SENSOR_UNITS_LUX				0x01
 | |
| #define HID_USAGE_SENSOR_UNITS_KELVIN				0x01000100
 | |
| #define HID_USAGE_SENSOR_UNITS_FAHRENHEIT			0x03000100
 | |
| #define HID_USAGE_SENSOR_UNITS_PASCAL				0xF1E1
 | |
| #define HID_USAGE_SENSOR_UNITS_NEWTON				0x11E1
 | |
| #define HID_USAGE_SENSOR_UNITS_METERS_PER_SECOND		0x11F0
 | |
| #define HID_USAGE_SENSOR_UNITS_METERS_PER_SEC_SQRD		0x11E0
 | |
| #define HID_USAGE_SENSOR_UNITS_FARAD				0xE14F2000
 | |
| #define HID_USAGE_SENSOR_UNITS_AMPERE				0x01001000
 | |
| #define HID_USAGE_SENSOR_UNITS_WATT				0x21d1
 | |
| #define HID_USAGE_SENSOR_UNITS_HENRY				0x21E1E000
 | |
| #define HID_USAGE_SENSOR_UNITS_OHM				0x21D1E000
 | |
| #define HID_USAGE_SENSOR_UNITS_VOLT				0x21D1F000
 | |
| #define HID_USAGE_SENSOR_UNITS_HERTZ				0x01F0
 | |
| #define HID_USAGE_SENSOR_UNITS_DEGREES_PER_SEC_SQRD		0x14E0
 | |
| #define HID_USAGE_SENSOR_UNITS_RADIANS				0x12
 | |
| #define HID_USAGE_SENSOR_UNITS_RADIANS_PER_SECOND		0x12F0
 | |
| #define HID_USAGE_SENSOR_UNITS_RADIANS_PER_SEC_SQRD		0x12E0
 | |
| #define HID_USAGE_SENSOR_UNITS_SECOND				0x0110
 | |
| #define HID_USAGE_SENSOR_UNITS_GAUSS				0x01E1F000
 | |
| #define HID_USAGE_SENSOR_UNITS_GRAM				0x0101
 | |
| #define HID_USAGE_SENSOR_UNITS_CENTIMETER			0x11
 | |
| #define HID_USAGE_SENSOR_UNITS_G				0x1A
 | |
| #define HID_USAGE_SENSOR_UNITS_MILLISECOND			0x19
 | |
| #define HID_USAGE_SENSOR_UNITS_PERCENT				0x17
 | |
| #define HID_USAGE_SENSOR_UNITS_DEGREES				0x14
 | |
| #define HID_USAGE_SENSOR_UNITS_DEGREES_PER_SECOND		0x15
 | |
| 
 | |
| /* Common selectors */
 | |
| #define HID_USAGE_SENSOR_PROP_DESC				0x200300
 | |
| #define HID_USAGE_SENSOR_PROP_FRIENDLY_NAME			0x200301
 | |
| #define HID_USAGE_SENSOR_PROP_SERIAL_NUM			0x200307
 | |
| #define HID_USAGE_SENSOR_PROP_MANUFACTURER			0x200305
 | |
| #define HID_USAGE_SENSOR_PROP_REPORT_INTERVAL			0x20030E
 | |
| #define HID_USAGE_SENSOR_PROP_SENSITIVITY_ABS			0x20030F
 | |
| #define HID_USAGE_SENSOR_PROP_SENSITIVITY_RANGE_PCT		0x200310
 | |
| #define HID_USAGE_SENSOR_PROP_SENSITIVITY_REL_PCT		0x200311
 | |
| #define HID_USAGE_SENSOR_PROP_ACCURACY				0x200312
 | |
| #define HID_USAGE_SENSOR_PROP_RESOLUTION			0x200313
 | |
| #define HID_USAGE_SENSOR_PROP_RANGE_MAXIMUM			0x200314
 | |
| #define HID_USAGE_SENSOR_PROP_RANGE_MINIMUM			0x200315
 | |
| #define HID_USAGE_SENSOR_PROP_REPORT_STATE			0x200316
 | |
| #define HID_USAGE_SENSOR_PROY_POWER_STATE			0x200319
 | |
| 
 | |
| /* Batch mode selectors */
 | |
| #define HID_USAGE_SENSOR_PROP_REPORT_LATENCY			0x20031B
 | |
| 
 | |
| /* Per data field properties */
 | |
| #define HID_USAGE_SENSOR_DATA_MOD_NONE					0x00
 | |
| #define HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS		0x1000
 | |
| #define HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_REL_PCT            0xE000
 | |
| 
 | |
| /* Power state enumerations */
 | |
| #define HID_USAGE_SENSOR_PROP_POWER_STATE_UNDEFINED_ENUM	0x200850
 | |
| #define HID_USAGE_SENSOR_PROP_POWER_STATE_D0_FULL_POWER_ENUM	0x200851
 | |
| #define HID_USAGE_SENSOR_PROP_POWER_STATE_D1_LOW_POWER_ENUM	0x200852
 | |
| #define HID_USAGE_SENSOR_PROP_POWER_STATE_D2_STANDBY_WITH_WAKE_ENUM 0x200853
 | |
| #define HID_USAGE_SENSOR_PROP_POWER_STATE_D3_SLEEP_WITH_WAKE_ENUM 0x200854
 | |
| #define HID_USAGE_SENSOR_PROP_POWER_STATE_D4_POWER_OFF_ENUM	0x200855
 | |
| 
 | |
| /* Report State enumerations */
 | |
| #define HID_USAGE_SENSOR_PROP_REPORTING_STATE_NO_EVENTS_ENUM	0x200840
 | |
| #define HID_USAGE_SENSOR_PROP_REPORTING_STATE_ALL_EVENTS_ENUM	0x200841
 | |
| 
 | |
| /* Custom Sensor (2000e1) */
 | |
| #define HID_USAGE_SENSOR_HINGE				        0x20020B
 | |
| #define HID_USAGE_SENSOR_DATA_FIELD_LOCATION			0x200400
 | |
| #define HID_USAGE_SENSOR_DATA_FIELE_TIME_SINCE_SYS_BOOT		0x20052B
 | |
| #define HID_USAGE_SENSOR_DATA_FIELD_CUSTOM_USAGE		0x200541
 | |
| #define HID_USAGE_SENSOR_DATA_FIELD_CUSTOM_VALUE_BASE           0x200543
 | |
| /* Custom Sensor data 28=>x>=0 */
 | |
| #define HID_USAGE_SENSOR_DATA_FIELD_CUSTOM_VALUE(x)                            \
 | |
| 	(HID_USAGE_SENSOR_DATA_FIELD_CUSTOM_VALUE_BASE + (x))
 | |
| 
 | |
| #endif
 |