}
val = (val * MICRO) + val2;
i = find_closest(val, scale_avail_uv, cs->num_scales);
+
+ ret = iio_device_claim_direct_mode(indio_dev);
+ if (ret < 0)
+ return ret;
ret = st->write_scale(indio_dev, ch, i + cs->reg_offset);
+ iio_device_release_direct_mode(indio_dev);
if (ret < 0)
return ret;
cs->range = i;
return -EINVAL;
i = find_closest(val, st->oversampling_avail,
st->num_os_ratios);
+
+ ret = iio_device_claim_direct_mode(indio_dev);
+ if (ret < 0)
+ return ret;
ret = st->write_os(indio_dev, i);
+ iio_device_release_direct_mode(indio_dev);
if (ret < 0)
return ret;
st->oversampling = st->oversampling_avail[i];