]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iio: light: noa1305: Assign val in noa1305_measure()
authorMarek Vasut <marex@denx.de>
Mon, 15 Jul 2024 18:28:56 +0000 (20:28 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 3 Aug 2024 09:13:38 +0000 (10:13 +0100)
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>
drivers/iio/light/noa1305.c

index a76f158bb50e5e3e4b29f19579c9bdb06c3a4334..a7e4c68bea09e9bd7838cf209643424f1c2d91da 100644 (file)
@@ -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: