diff options
author | Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> | 2022-05-10 17:51:12 +0200 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2022-06-08 14:23:35 +0000 |
commit | 25ee9ef44af5b1d305422afa2129d713be174062 (patch) | |
tree | 5b5a3542f83beff43083f5d73eae7eaaae9fdca8 /meta-egvirt/recipes-kernel/linux/linux-yocto/iio-scmi/0003-iio-scmi-Add-reading-raw-attribute.patch | |
parent | 9893e9e1a0ae33a2ea2971081dbfbfd486c4214c (diff) |
egvirt: linux-yocto: Remove virtio-scmi patches.
Those patches are now in mainline kernel, so they are moved to meta-agl.
Bug-AGL: SPEC-3865, SPEC-4365
Change-Id: I08a184c6db63afef67a2e0906bc6a9a61ec4286f
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
Diffstat (limited to 'meta-egvirt/recipes-kernel/linux/linux-yocto/iio-scmi/0003-iio-scmi-Add-reading-raw-attribute.patch')
-rw-r--r-- | meta-egvirt/recipes-kernel/linux/linux-yocto/iio-scmi/0003-iio-scmi-Add-reading-raw-attribute.patch | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/meta-egvirt/recipes-kernel/linux/linux-yocto/iio-scmi/0003-iio-scmi-Add-reading-raw-attribute.patch b/meta-egvirt/recipes-kernel/linux/linux-yocto/iio-scmi/0003-iio-scmi-Add-reading-raw-attribute.patch deleted file mode 100644 index a11e5e2f..00000000 --- a/meta-egvirt/recipes-kernel/linux/linux-yocto/iio-scmi/0003-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 - |