diff options
Diffstat (limited to 'drivers/iio/common')
-rw-r--r-- | drivers/iio/common/hid-sensors/hid-sensor-attributes.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/iio/common/hid-sensors/hid-sensor-attributes.c b/drivers/iio/common/hid-sensors/hid-sensor-attributes.c index e61b1faa1e06..372964635ccf 100644 --- a/drivers/iio/common/hid-sensors/hid-sensor-attributes.c +++ b/drivers/iio/common/hid-sensors/hid-sensor-attributes.c | |||
@@ -147,6 +147,26 @@ static u32 convert_to_vtf_format(int size, int exp, int val1, int val2) | |||
147 | return value; | 147 | return value; |
148 | } | 148 | } |
149 | 149 | ||
150 | s32 hid_sensor_read_poll_value(struct hid_sensor_common *st) | ||
151 | { | ||
152 | s32 value = 0; | ||
153 | int ret; | ||
154 | |||
155 | ret = sensor_hub_get_feature(st->hsdev, | ||
156 | st->poll.report_id, | ||
157 | st->poll.index, &value); | ||
158 | |||
159 | if (ret < 0 || value < 0) { | ||
160 | return -EINVAL; | ||
161 | } else { | ||
162 | if (st->poll.units == HID_USAGE_SENSOR_UNITS_SECOND) | ||
163 | value = value * 1000; | ||
164 | } | ||
165 | |||
166 | return value; | ||
167 | } | ||
168 | EXPORT_SYMBOL(hid_sensor_read_poll_value); | ||
169 | |||
150 | int hid_sensor_read_samp_freq_value(struct hid_sensor_common *st, | 170 | int hid_sensor_read_samp_freq_value(struct hid_sensor_common *st, |
151 | int *val1, int *val2) | 171 | int *val1, int *val2) |
152 | { | 172 | { |