diff options
author | Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> | 2022-08-07 23:55:25 +0200 |
---|---|---|
committer | Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> | 2022-08-08 00:37:29 +0200 |
commit | 72a01d3c55fa8858ec0ffa89c04ded12a898b227 (patch) | |
tree | 58407b3f0b5ad67397e0712f2bd2d5bf23719b56 /bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch | |
parent | 4deb7357eab5962b0553a5ad1f11be5ac35f9da9 (diff) |
virtio: Remove IIO patches merged into kernel v5.17.
Bug-AGL: SPEC-4453
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
Change-Id: I0830457f1701b885d6cddb9c9accef9c27d906dd
Diffstat (limited to 'bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch')
-rw-r--r-- | bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch b/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch deleted file mode 100644 index a11e5e2..0000000 --- a/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch +++ /dev/null @@ -1,101 +0,0 @@ -From a58a59fa0d626990f32e84bd35e1326cf0532c4a Mon Sep 17 00:00:00 2001 -From: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com> -Date: Sun, 24 Oct 2021 12:16:27 +0300 -Subject: [PATCH] iio/scmi: Add reading "raw" attribute. - -Add IIO_CHAN_INFO_RAW to the mask and implement corresponding -reading "raw" attribute in scmi_iio_read_raw. - -Signed-off-by: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com> -Acked-by: Jyoti Bhayana <jbhayana@google.com> -Link: https://lore.kernel.org/r/20211024091627.28031-3-andriy.tryshnivskyy@opensynergy.com -Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> ---- - drivers/iio/common/scmi_sensors/scmi_iio.c | 57 +++++++++++++++++++++- - 1 file changed, 56 insertions(+), 1 deletion(-) - -diff --git a/drivers/iio/common/scmi_sensors/scmi_iio.c b/drivers/iio/common/scmi_sensors/scmi_iio.c -index 7cf2bf282cef..d538bf3ab1ef 100644 ---- a/drivers/iio/common/scmi_sensors/scmi_iio.c -+++ b/drivers/iio/common/scmi_sensors/scmi_iio.c -@@ -279,6 +279,52 @@ static int scmi_iio_get_odr_val(struct iio_dev *iio_dev, int *val, int *val2) - return 0; - } - -+static int scmi_iio_read_channel_data(struct iio_dev *iio_dev, -+ struct iio_chan_spec const *ch, int *val, int *val2) -+{ -+ struct scmi_iio_priv *sensor = iio_priv(iio_dev); -+ u32 sensor_config; -+ struct scmi_sensor_reading readings[SCMI_IIO_NUM_OF_AXIS]; -+ int err; -+ -+ sensor_config = FIELD_PREP(SCMI_SENS_CFG_SENSOR_ENABLED_MASK, -+ SCMI_SENS_CFG_SENSOR_ENABLE); -+ err = sensor->sensor_ops->config_set( -+ sensor->ph, sensor->sensor_info->id, sensor_config); -+ if (err) { -+ dev_err(&iio_dev->dev, -+ "Error in enabling sensor %s err %d", -+ sensor->sensor_info->name, err); -+ return err; -+ } -+ -+ err = sensor->sensor_ops->reading_get_timestamped( -+ sensor->ph, sensor->sensor_info->id, -+ sensor->sensor_info->num_axis, readings); -+ if (err) { -+ dev_err(&iio_dev->dev, -+ "Error in reading raw attribute for sensor %s err %d", -+ sensor->sensor_info->name, err); -+ return err; -+ } -+ -+ sensor_config = FIELD_PREP(SCMI_SENS_CFG_SENSOR_ENABLED_MASK, -+ SCMI_SENS_CFG_SENSOR_DISABLE); -+ err = sensor->sensor_ops->config_set( -+ sensor->ph, sensor->sensor_info->id, sensor_config); -+ if (err) { -+ dev_err(&iio_dev->dev, -+ "Error in disabling sensor %s err %d", -+ sensor->sensor_info->name, err); -+ return err; -+ } -+ -+ *val = lower_32_bits(readings[ch->scan_index].value); -+ *val2 = upper_32_bits(readings[ch->scan_index].value); -+ -+ return IIO_VAL_INT_64; -+} -+ - static int scmi_iio_read_raw(struct iio_dev *iio_dev, - struct iio_chan_spec const *ch, int *val, - int *val2, long mask) -@@ -300,6 +346,14 @@ static int scmi_iio_read_raw(struct iio_dev *iio_dev, - case IIO_CHAN_INFO_SAMP_FREQ: - ret = scmi_iio_get_odr_val(iio_dev, val, val2); - return ret ? ret : IIO_VAL_INT_PLUS_MICRO; -+ case IIO_CHAN_INFO_RAW: -+ ret = iio_device_claim_direct_mode(iio_dev); -+ if (ret) -+ return ret; -+ -+ ret = scmi_iio_read_channel_data(iio_dev, ch, val, val2); -+ iio_device_release_direct_mode(iio_dev); -+ return ret; - default: - return -EINVAL; - } -@@ -381,7 +435,8 @@ static void scmi_iio_set_data_channel(struct iio_chan_spec *iio_chan, - iio_chan->type = type; - iio_chan->modified = 1; - iio_chan->channel2 = mod; -- iio_chan->info_mask_separate = BIT(IIO_CHAN_INFO_SCALE); -+ iio_chan->info_mask_separate = -+ BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_RAW); - iio_chan->info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SAMP_FREQ); - iio_chan->info_mask_shared_by_type_available = - BIT(IIO_CHAN_INFO_SAMP_FREQ); --- -2.17.1 - |