Commit 90309245 authored by Srinivas Pandruvada's avatar Srinivas Pandruvada Committed by Jonathan Cameron

iio: hid-sensors: Add api to get poll value

Added interface to get poll value in milli-seconds. This value is
changed by changing sampling frequency. This API allows clients
to wait for at least some poll milli seconds before reading a new sample.
Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent 5d02edfc
...@@ -147,6 +147,26 @@ static u32 convert_to_vtf_format(int size, int exp, int val1, int val2) ...@@ -147,6 +147,26 @@ static u32 convert_to_vtf_format(int size, int exp, int val1, int val2)
return value; return value;
} }
s32 hid_sensor_read_poll_value(struct hid_sensor_common *st)
{
s32 value = 0;
int ret;
ret = sensor_hub_get_feature(st->hsdev,
st->poll.report_id,
st->poll.index, &value);
if (ret < 0 || value < 0) {
return -EINVAL;
} else {
if (st->poll.units == HID_USAGE_SENSOR_UNITS_SECOND)
value = value * 1000;
}
return value;
}
EXPORT_SYMBOL(hid_sensor_read_poll_value);
int hid_sensor_read_samp_freq_value(struct hid_sensor_common *st, int hid_sensor_read_samp_freq_value(struct hid_sensor_common *st,
int *val1, int *val2) int *val1, int *val2)
{ {
......
...@@ -227,4 +227,6 @@ int hid_sensor_format_scale(u32 usage_id, ...@@ -227,4 +227,6 @@ int hid_sensor_format_scale(u32 usage_id,
struct hid_sensor_hub_attribute_info *attr_info, struct hid_sensor_hub_attribute_info *attr_info,
int *val0, int *val1); int *val0, int *val1);
s32 hid_sensor_read_poll_value(struct hid_sensor_common *st);
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment