int hid_sensor_write_raw_hyst_value(struct hid_sensor_common *st, int val1, int val2) { s32 value; int ret; if (val1 < 0 || val2 < 0) return -EINVAL; value = convert_to_vtf_format(st->sensitivity.size, st->sensitivity.unit_expo, val1, val2); ret = sensor_hub_set_feature(st->hsdev, st->sensitivity.report_id, st->sensitivity.index, sizeof(value), &value); if (ret < 0 || value < 0) return -EINVAL; ret = sensor_hub_get_feature(st->hsdev, st->sensitivity.report_id, st->sensitivity.index, sizeof(value), &value); if (ret < 0 || value < 0) return -EINVAL; st->raw_hystersis = value; return 0; }
int hid_sensor_write_raw_hyst_value(struct hid_sensor_iio_common *st, int val1, int val2) { s32 value; int ret; value = convert_to_vtf_format(st->sensitivity.size, st->sensitivity.unit_expo, val1, val2); ret = sensor_hub_set_feature(st->hsdev, st->sensitivity.report_id, st->sensitivity.index, value); if (ret < 0 || value < 0) ret = -EINVAL; return ret; }