diff options
Diffstat (limited to 'include/linux/hid-sensor-hub.h')
-rw-r--r-- | include/linux/hid-sensor-hub.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/include/linux/hid-sensor-hub.h b/include/linux/hid-sensor-hub.h index 0aa5f4c42ae6..ecefb7311dd6 100644 --- a/include/linux/hid-sensor-hub.h +++ b/include/linux/hid-sensor-hub.h | |||
@@ -157,4 +157,42 @@ int sensor_hub_set_feature(struct hid_sensor_hub_device *hsdev, u32 report_id, | |||
157 | */ | 157 | */ |
158 | int sensor_hub_get_feature(struct hid_sensor_hub_device *hsdev, u32 report_id, | 158 | int sensor_hub_get_feature(struct hid_sensor_hub_device *hsdev, u32 report_id, |
159 | u32 field_index, s32 *value); | 159 | u32 field_index, s32 *value); |
160 | |||
161 | /* hid-sensor-attributes */ | ||
162 | |||
163 | /* Common hid sensor iio structure */ | ||
164 | struct hid_sensor_common { | ||
165 | struct hid_sensor_hub_device *hsdev; | ||
166 | struct platform_device *pdev; | ||
167 | unsigned usage_id; | ||
168 | bool data_ready; | ||
169 | struct hid_sensor_hub_attribute_info poll; | ||
170 | struct hid_sensor_hub_attribute_info report_state; | ||
171 | struct hid_sensor_hub_attribute_info power_state; | ||
172 | struct hid_sensor_hub_attribute_info sensitivity; | ||
173 | }; | ||
174 | |||
175 | /*Convert from hid unit expo to regular exponent*/ | ||
176 | static inline int hid_sensor_convert_exponent(int unit_expo) | ||
177 | { | ||
178 | if (unit_expo < 0x08) | ||
179 | return unit_expo; | ||
180 | else if (unit_expo <= 0x0f) | ||
181 | return -(0x0f-unit_expo+1); | ||
182 | else | ||
183 | return 0; | ||
184 | } | ||
185 | |||
186 | int hid_sensor_parse_common_attributes(struct hid_sensor_hub_device *hsdev, | ||
187 | u32 usage_id, | ||
188 | struct hid_sensor_common *st); | ||
189 | int hid_sensor_write_raw_hyst_value(struct hid_sensor_common *st, | ||
190 | int val1, int val2); | ||
191 | int hid_sensor_read_raw_hyst_value(struct hid_sensor_common *st, | ||
192 | int *val1, int *val2); | ||
193 | int hid_sensor_write_samp_freq_value(struct hid_sensor_common *st, | ||
194 | int val1, int val2); | ||
195 | int hid_sensor_read_samp_freq_value(struct hid_sensor_common *st, | ||
196 | int *val1, int *val2); | ||
197 | |||
160 | #endif | 198 | #endif |