X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=meta-egvirt%2Frecipes-kernel%2Flinux%2Flinux-yocto%2Fiio-scmi%2F0003-iio-scmi-Add-reading-raw-attribute.patch;h=a11e5e2fff9697ba8bc2922f026ffd47e5680605;hb=9893e9e1a0ae33a2ea2971081dbfbfd486c4214c;hp=678aa89b3257b8b2c099012f1ba84a918cccb207;hpb=db4be1a90d3f84c8255c8a3b51ae71f2eae54980;p=AGL%2Fmeta-agl-devel.git 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 index 678aa89b..a11e5e2f 100644 --- 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 @@ -1,21 +1,24 @@ -From 642e7a22d9f9e7c02869e1689d513dd84d118388 Mon Sep 17 00:00:00 2001 +From a58a59fa0d626990f32e84bd35e1326cf0532c4a Mon Sep 17 00:00:00 2001 From: Andriy Tryshnivskyy -Date: Mon, 25 Oct 2021 13:41:18 +0300 +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 +Acked-by: Jyoti Bhayana +Link: https://lore.kernel.org/r/20211024091627.28031-3-andriy.tryshnivskyy@opensynergy.com +Signed-off-by: Jonathan Cameron --- 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 31977c3bc600..53b3242f0f19 100644 +index 7cf2bf282cef..d538bf3ab1ef 100644 --- a/drivers/iio/common/scmi_sensors/scmi_iio.c +++ b/drivers/iio/common/scmi_sensors/scmi_iio.c -@@ -296,6 +296,52 @@ static int scmi_iio_get_odr_val(struct iio_dev *iio_dev, int *val, int *val2) +@@ -279,6 +279,52 @@ static int scmi_iio_get_odr_val(struct iio_dev *iio_dev, int *val, int *val2) return 0; } @@ -29,8 +32,8 @@ index 31977c3bc600..53b3242f0f19 100644 + + sensor_config = FIELD_PREP(SCMI_SENS_CFG_SENSOR_ENABLED_MASK, + SCMI_SENS_CFG_SENSOR_ENABLE); -+ err = sensor->handle->sensor_ops->config_set( -+ sensor->handle, sensor->sensor_info->id, sensor_config); ++ 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", @@ -38,8 +41,8 @@ index 31977c3bc600..53b3242f0f19 100644 + return err; + } + -+ err = sensor->handle->sensor_ops->reading_get_timestamped( -+ sensor->handle, sensor->sensor_info->id, ++ 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, @@ -50,8 +53,8 @@ index 31977c3bc600..53b3242f0f19 100644 + + sensor_config = FIELD_PREP(SCMI_SENS_CFG_SENSOR_ENABLED_MASK, + SCMI_SENS_CFG_SENSOR_DISABLE); -+ err = sensor->handle->sensor_ops->config_set( -+ sensor->handle, sensor->sensor_info->id, sensor_config); ++ 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", @@ -68,7 +71,7 @@ index 31977c3bc600..53b3242f0f19 100644 static int scmi_iio_read_raw(struct iio_dev *iio_dev, struct iio_chan_spec const *ch, int *val, int *val2, long mask) -@@ -317,6 +363,14 @@ static int scmi_iio_read_raw(struct iio_dev *iio_dev, +@@ -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; @@ -83,7 +86,7 @@ index 31977c3bc600..53b3242f0f19 100644 default: return -EINVAL; } -@@ -398,7 +452,8 @@ static void scmi_iio_set_data_channel(struct iio_chan_spec *iio_chan, +@@ -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;