summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2024-07-15 20:28:56 +0200
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2024-08-03 10:13:38 +0100
commitdde56b6db4d40e6d5017fbb94a5a2d973208800f (patch)
treee062bd3ceca45d5733d6cc8298cdd48d07e442de
parent0cef1c3232e7b4e584e1f098f0eac63525128e59 (diff)
iio: light: noa1305: Assign val in noa1305_measure()
Make noa1305_measure() behave similar to noa1305_scale(), make it assign the 'val' output variable on success and return IIO_VAL_INT. This further simplifies noa1305_read_raw() and allows removal of ret variable altogether. Signed-off-by: Marek Vasut <marex@denx.de> Link: https://patch.msgid.link/20240715183120.143417-2-marex@denx.de Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-rw-r--r--drivers/iio/light/noa1305.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/iio/light/noa1305.c b/drivers/iio/light/noa1305.c
index a76f158bb50e..a7e4c68bea09 100644
--- a/drivers/iio/light/noa1305.c
+++ b/drivers/iio/light/noa1305.c
@@ -48,7 +48,7 @@ struct noa1305_priv {
struct regmap *regmap;
};
-static int noa1305_measure(struct noa1305_priv *priv)
+static int noa1305_measure(struct noa1305_priv *priv, int *val)
{
__le16 data;
int ret;
@@ -58,7 +58,9 @@ static int noa1305_measure(struct noa1305_priv *priv)
if (ret < 0)
return ret;
- return le16_to_cpu(data);
+ *val = le16_to_cpu(data);
+
+ return IIO_VAL_INT;
}
static int noa1305_scale(struct noa1305_priv *priv, int *val, int *val2)
@@ -129,18 +131,13 @@ static int noa1305_read_raw(struct iio_dev *indio_dev,
int *val, int *val2, long mask)
{
struct noa1305_priv *priv = iio_priv(indio_dev);
- int ret;
if (chan->type != IIO_LIGHT)
return -EINVAL;
switch (mask) {
case IIO_CHAN_INFO_RAW:
- ret = noa1305_measure(priv);
- if (ret < 0)
- return ret;
- *val = ret;
- return IIO_VAL_INT;
+ return noa1305_measure(priv, val);
case IIO_CHAN_INFO_SCALE:
return noa1305_scale(priv, val, val2);
default: