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>
This commit is contained in:
Marek Vasut 2024-07-15 20:28:56 +02:00 committed by Jonathan Cameron
parent 0cef1c3232
commit dde56b6db4

View 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: